Class SystemInformation

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

@MetaschemaAssembly(formalName="System Information", description="Contains details about all information types that are stored, processed, or transmitted by the system, such as privacy information, and those defined in [NIST SP 800-60](https://doi.org/10.6028/NIST.SP.800-60v2r1).", name="system-information", moduleClass=OscalSspModule.class, valueConstraints=@ValueConstraints(allowedValues={@AllowedValues(id="oscal-system-information-prop-name-values",level=ERROR,target="prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\')]/@name",values=@AllowedValue(value="privacy-designation",description="Is this a privacy sensitive system? yes or no")),@AllowedValues(id="oscal-system-information-prop-privacy-designation-values",level=ERROR,target="prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\') and @name=\'privacy-designation\']/@value",values={@AllowedValue(value="yes",description="The system is privacy sensitive."),@AllowedValue(value="no",description="The system is not privacy sensitive.")}),@AllowedValues(id="oscal-system-information-link-rel-values",level=ERROR,target="link/@rel",allowOthers=true,values=@AllowedValue(value="privacy-impact-assessment",description="A link to the privacy impact assessment.")),@AllowedValues(id="oscal-fips-199-impact-levels",level=ERROR,target="information-type/(confidentiality-impact|integrity-impact|availability-impact)/(base|selected)",allowOthers=true,values={@AllowedValue(value="fips-199-low",description="A \'low\' sensitivity level as defined in [FIPS-199](https://doi.org/10.6028/NIST.FIPS.199)."),@AllowedValue(value="fips-199-moderate",description="A \'moderate\' sensitivity level as defined in [FIPS-199](https://doi.org/10.6028/NIST.FIPS.199)."),@AllowedValue(value="fips-199-high",description="A \'high\' sensitivity level as defined in [FIPS-199](https://doi.org/10.6028/NIST.FIPS.199).")},remarks="FIPS-199 taxonomy is provided here as a starting point. We will provide other taxonomies based on community requests.")},indexHasKey=@IndexHasKey(id="oscal-system-information-index-back-matter-resource-pia-link-rel",level=ERROR,target="link[@rel=\'privacy-impact-assessment\' and starts-with(@href,\'#\')]",indexName="index-back-matter-resource",keyFields=@KeyField(target="@href",pattern="#(.*)")),matches={@Matches(id="oscal-system-information-pia-datatype-uri-reference",level=ERROR,target="link[@rel=\'privacy-impact-assessment\']/@href[starts-with(.,\'#\')]",typeAdapter=dev.metaschema.core.datatype.adapter.UriReferenceAdapter.class),@Matches(id="oscal-system-information-pia-datatype-uri",level=ERROR,target="link[@rel=\'privacy-impact-assessment\']/@href[not(starts-with(.,\'#\'))]",typeAdapter=dev.metaschema.core.datatype.adapter.UriAdapter.class)})) public class SystemInformation extends Object implements dev.metaschema.core.model.IBoundObject
Contains details about all information types that are stored, processed, or transmitted by the system, such as privacy information, and those defined in NIST SP 800-60.
  • Constructor Details

    • SystemInformation

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

      public SystemInformation(dev.metaschema.core.model.IMetaschemaData data)
      Constructs a new dev.metaschema.oscal.lib.model.SystemInformation 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
    • getInformationTypes

      Get the "Information Type".

      Contains details about one information type that is stored, processed, or transmitted by the system, such as privacy information, and those defined in NIST SP 800-60.

      Returns:
      the information-type value
    • setInformationTypes

      Set the "Information Type".

      Contains details about one information type that is stored, processed, or transmitted by the system, such as privacy information, and those defined in NIST SP 800-60.

      Parameters:
      value - the information-type value to set
    • addInformationType

      Add a new SystemInformation.InformationType item to the underlying collection.
      Parameters:
      item - the item to add
      Returns:
      true
    • removeInformationType

      Remove the first matching SystemInformation.InformationType item from the underlying collection.
      Parameters:
      item - the item to remove
      Returns:
      true if the item was removed or false otherwise
    • toString

      public String toString()
      Overrides:
      toString in class Object