Class Statement

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

@MetaschemaAssembly(formalName="Specific Control Statement", description="Identifies which statements within a control are addressed.", name="statement", moduleClass=OscalSspModule.class, valueConstraints=@ValueConstraints(allowedValues=@AllowedValues(id="oscal-statement-responsible-role-id-values",level=ERROR,target="responsible-role/@role-id",allowOthers=true,values={@AllowedValue(value="asset-owner",description="Accountable for ensuring the asset is managed in accordance with organizational policies and procedures."),@AllowedValue(value="asset-administrator",description="Responsible for administering a set of assets."),@AllowedValue(value="security-operations",description="Members of the security operations center (SOC)."),@AllowedValue(value="network-operations",description="Members of the network operations center (NOC)."),@AllowedValue(value="incident-response",description="Responsible for responding to an event that could lead to loss of, or disruption to, an organization\'s operations, services or functions."),@AllowedValue(value="help-desk",description="Responsible for providing information and support to users."),@AllowedValue(value="configuration-management",description="Responsible for the configuration management processes governing changes to the asset.")})), modelConstraints=@IsUnique(id="oscal-unique-ssp-statement-responsible-role",level=ERROR,target="responsible-role",keyFields=@KeyField(target="@role-id"),remarks="Since `responsible-role` associates multiple `party-uuid` entries with a single `role-id`, each role-id must be referenced only once.") @IsUnique(id="oscal-unique-ssp-implemented-requirement-statement-by-component",level=ERROR,target="by-component",keyFields=@KeyField(target="@component-uuid"),remarks="Since `by-component` can reference `component` entries using the component\'s uuid, each component must be referenced only once. This ensures that all implementation statements are contained in the same `by-component` entry.")) public class Statement extends Object implements dev.metaschema.core.model.IBoundObject
Identifies which statements within a control are addressed.
  • Constructor Details

    • Statement

      public Statement()
      Constructs a new dev.metaschema.oscal.lib.model.Statement instance with no metadata.
    • Statement

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

      @NonNull public String getStatementId()
      Get the "Control Statement Reference".

      A human-oriented identifier reference to a control statement.

      Returns:
      the statement-id value
    • setStatementId

      public void setStatementId(@NonNull String value)
      Set the "Control Statement Reference".

      A human-oriented identifier reference to a control statement.

      Parameters:
      value - the statement-id value to set
    • getUuid

      @NonNull public UUID getUuid()
      Get the "Control Statement Reference Universally Unique Identifier".

      A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control statement elsewhere in this or other OSCAL instances. The UUID of the control statement in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).

      Returns:
      the uuid value
    • setUuid

      public void setUuid(@NonNull UUID value)
      Set the "Control Statement Reference Universally Unique Identifier".

      A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control statement elsewhere in this or other OSCAL instances. The UUID of the control statement in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).

      Parameters:
      value - the uuid value to set
    • 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
    • getResponsibleRoles

      Get the "Responsible Role".

      A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role.

      Returns:
      the responsible-role value
    • setResponsibleRoles

      public void setResponsibleRoles(@NonNull List<ResponsibleRole> value)
      Set the "Responsible Role".

      A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role.

      Parameters:
      value - the responsible-role value to set
    • addResponsibleRole

      public boolean addResponsibleRole(ResponsibleRole item)
      Add a new ResponsibleRole item to the underlying collection.
      Parameters:
      item - the item to add
      Returns:
      true
    • removeResponsibleRole

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

      @NonNull public List<ByComponent> getByComponents()
      Get the "Component Control Implementation".

      Defines how the referenced component implements a set of controls.

      Returns:
      the by-component value
    • setByComponents

      public void setByComponents(@NonNull List<ByComponent> value)
      Set the "Component Control Implementation".

      Defines how the referenced component implements a set of controls.

      Parameters:
      value - the by-component value to set
    • addByComponent

      public boolean addByComponent(ByComponent item)
      Add a new ByComponent item to the underlying collection.
      Parameters:
      item - the item to add
      Returns:
      true
    • removeByComponent

      public boolean removeByComponent(ByComponent item)
      Remove the first matching ByComponent 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