Class SystemImplementation

java.lang.Object
dev.metaschema.oscal.lib.model.SystemImplementation
All Implemented Interfaces:
dev.metaschema.core.model.IBoundObject

@MetaschemaAssembly(formalName="System Implementation", description="Provides information as to how the system is implemented.", name="system-implementation", moduleClass=OscalSspModule.class, valueConstraints=@ValueConstraints(allowedValues=@AllowedValues(id="oscal-component-inventory-item-allows-authenticated-scan-values",level=ERROR,target="(component | inventory-item)/prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\') and @name=\'allows-authenticated-scan\']/@value",values={@AllowedValue(value="yes",description="The component allows an authenticated scan."),@AllowedValue(value="no",description="The component does not allow an authenticated scan.")}),indexHasKey={@IndexHasKey(id="oscal-system-implementation-component-prop-leveraged-authorization-uuid-index",level=ERROR,target="component/prop[@name=\'leveraged-authorization-uuid\']",indexName="index-system-implementation-leveraged-authorization-uuid",keyFields=@KeyField(target="@value")),@IndexHasKey(id="oscal-system-implementation-component-depends-on-link-index",level=ERROR,target="component/link[@rel=\'depends-on\']",indexName="index-system-implementation-component-uuid",keyFields=@KeyField(target="@href")),@IndexHasKey(id="oscal-system-implementation-validated-by-index",level=ERROR,target="component/link[@rel=\'validated-by\']",indexName="index-system-implementation-component-uuid-validation",keyFields=@KeyField(target="@href")),@IndexHasKey(id="oscal-system-implementation-proof-of-compliance-index",level=ERROR,target="component/link[@rel=\'proof-of-compliance\']",indexName="index-system-implementation-component-uuid-validation",keyFields=@KeyField(target="@href")),@IndexHasKey(id="oscal-index-system-implementation-component-uuid-service",level=ERROR,target="component/link[@rel=\'uses-service\']",indexName="index-system-implementation-component-uuid-service",keyFields=@KeyField(target="@href"))}), modelConstraints=@AssemblyConstraints(index={@Index(id="oscal-system-implementation-component-leveraged-authorization-uuid-index",level=ERROR,target="leveraged-authorization",name="index-system-implementation-leveraged-authorization-uuid",keyFields=@KeyField(target="@uuid")),@Index(id="oscal-system-implementation-component-uuid-index",level=ERROR,target="component",name="index-system-implementation-component-uuid",keyFields=@KeyField(target="@uuid")),@Index(id="oscal-system-implementation-component-validation-uuid-index",level=ERROR,target="component[@type=\'validation\']",name="index-system-implementation-component-uuid-validation",keyFields=@KeyField(target="@uuid")),@Index(id="oscal-index-system-implementation-component-uuid-service",level=ERROR,target="component[@type=\'service\']",name="index-system-implementation-component-uuid-service",keyFields=@KeyField(target="@uuid"))},unique=@IsUnique(id="oscal-unique-ssp-system-implementation-user",level=ERROR,target="user",keyFields=@KeyField(target="@uuid"),remarks="A given `uuid` must be assigned only once to a user."))) public class SystemImplementation extends Object implements dev.metaschema.core.model.IBoundObject
Provides information as to how the system is implemented.
  • Constructor Details

    • SystemImplementation

      Constructs a new dev.metaschema.oscal.lib.model.SystemImplementation instance with no metadata.
    • SystemImplementation

      public SystemImplementation(dev.metaschema.core.model.IMetaschemaData data)
      Constructs a new dev.metaschema.oscal.lib.model.SystemImplementation instance with the specified metadata.
      Parameters:
      data - the metaschema data, or null if none
  • Method Details

    • getMetaschemaData

      public dev.metaschema.core.model.IMetaschemaData getMetaschemaData()
      Specified by:
      getMetaschemaData in interface dev.metaschema.core.model.IBoundObject
    • getProps

      @NonNull public List<Property> getProps()
      Get the "Property".

      An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair.

      Returns:
      the prop value
    • setProps

      public void setProps(@NonNull List<Property> value)
      Set the "Property".

      An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair.

      Parameters:
      value - the prop value to set
    • addProp

      public boolean addProp(Property item)
      Add a new Property item to the underlying collection.
      Parameters:
      item - the item to add
      Returns:
      true
    • removeProp

      public boolean removeProp(Property item)
      Remove the first matching Property item from the underlying collection.
      Parameters:
      item - the item to remove
      Returns:
      true if the item was removed or false otherwise
    • getLinks

      @NonNull public List<Link> getLinks()
      Get the "Link".

      A reference to a local or remote resource, that has a specific relation to the containing object.

      Returns:
      the link value
    • setLinks

      public void setLinks(@NonNull List<Link> value)
      Set the "Link".

      A reference to a local or remote resource, that has a specific relation to the containing object.

      Parameters:
      value - the link value to set
    • addLink

      public boolean addLink(Link item)
      Add a new Link item to the underlying collection.
      Parameters:
      item - the item to add
      Returns:
      true
    • removeLink

      public boolean removeLink(Link item)
      Remove the first matching Link item from the underlying collection.
      Parameters:
      item - the item to remove
      Returns:
      true if the item was removed or false otherwise
    • getLeveragedAuthorizations

      Get the "Leveraged Authorization".

      A description of another authorized system from which this system inherits capabilities that satisfy security requirements. Another term for this concept is a common control provider.

      Returns:
      the leveraged-authorization value
    • setLeveragedAuthorizations

      Set the "Leveraged Authorization".

      A description of another authorized system from which this system inherits capabilities that satisfy security requirements. Another term for this concept is a common control provider.

      Parameters:
      value - the leveraged-authorization value to set
    • addLeveragedAuthorization

      Add a new SystemImplementation.LeveragedAuthorization item to the underlying collection.
      Parameters:
      item - the item to add
      Returns:
      true
    • removeLeveragedAuthorization

      Remove the first matching SystemImplementation.LeveragedAuthorization item from the underlying collection.
      Parameters:
      item - the item to remove
      Returns:
      true if the item was removed or false otherwise
    • getUsers

      @NonNull public List<SystemUser> getUsers()
      Get the "System User".

      A type of user that interacts with the system based on an associated role.

      Returns:
      the user value
    • setUsers

      public void setUsers(@NonNull List<SystemUser> value)
      Set the "System User".

      A type of user that interacts with the system based on an associated role.

      Parameters:
      value - the user value to set
    • addUser

      public boolean addUser(SystemUser item)
      Add a new SystemUser item to the underlying collection.
      Parameters:
      item - the item to add
      Returns:
      true
    • removeUser

      public boolean removeUser(SystemUser item)
      Remove the first matching SystemUser item from the underlying collection.
      Parameters:
      item - the item to remove
      Returns:
      true if the item was removed or false otherwise
    • getComponents

      @NonNull public List<SystemComponent> getComponents()
      Get the "Component".

      A defined component that can be part of an implemented system.

      Returns:
      the component value
    • setComponents

      public void setComponents(@NonNull List<SystemComponent> value)
      Set the "Component".

      A defined component that can be part of an implemented system.

      Parameters:
      value - the component value to set
    • addComponent

      public boolean addComponent(SystemComponent item)
      Add a new SystemComponent item to the underlying collection.
      Parameters:
      item - the item to add
      Returns:
      true
    • removeComponent

      public boolean removeComponent(SystemComponent item)
      Remove the first matching SystemComponent item from the underlying collection.
      Parameters:
      item - the item to remove
      Returns:
      true if the item was removed or false otherwise
    • getInventoryItems

      @NonNull public List<InventoryItem> getInventoryItems()
      Get the "Inventory Item".

      A single managed inventory item within the system.

      Returns:
      the inventory-item value
    • setInventoryItems

      public void setInventoryItems(@NonNull List<InventoryItem> value)
      Set the "Inventory Item".

      A single managed inventory item within the system.

      Parameters:
      value - the inventory-item value to set
    • addInventoryItem

      public boolean addInventoryItem(InventoryItem item)
      Add a new InventoryItem item to the underlying collection.
      Parameters:
      item - the item to add
      Returns:
      true
    • removeInventoryItem

      public boolean removeInventoryItem(InventoryItem item)
      Remove the first matching InventoryItem item from the underlying collection.
      Parameters:
      item - the item to remove
      Returns:
      true if the item was removed or false otherwise
    • getRemarks

      @Nullable public dev.metaschema.core.datatype.markup.MarkupMultiline getRemarks()
      Get the "Remarks".

      Additional commentary about the containing object.

      Returns:
      the remarks value, or null if not set
    • setRemarks

      public void setRemarks(@Nullable dev.metaschema.core.datatype.markup.MarkupMultiline value)
      Set the "Remarks".

      Additional commentary about the containing object.

      Parameters:
      value - the remarks value to set, or null to clear
    • toString

      public String toString()
      Overrides:
      toString in class Object