Class ComponentImplementedRequirement

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

@MetaschemaAssembly(formalName="Control Implementation", description="Describes how the containing component or capability implements an individual control.", name="implemented-requirement", moduleClass=OscalComponentDefinitionModule.class, remarks="Implemented requirements within a component or capability in a component definition provide a means for component suppliers to suggest possible control implementation details, which may be used by a different party (e.g., component consumers) when authoring a system security plan. Thus, these requirements defined in a component definition are only a suggestion of how to implement, which may be adopted wholesale, changed, or ignored by a person defining an information system implementation.\n\nUse of `set-parameter` in this context, sets the parameter for the referenced control and any associated statements.", modelConstraints=@IsUnique(id="oscal-unique-component-definition-implemented-requirement-set-parameter",level=ERROR,target="set-parameter",keyFields=@KeyField(target="@param-id"),remarks="Since multiple `set-parameter` entries can be provided, each parameter must be set only once.") @IsUnique(id="oscal-unique-component-definition-implemented-requirement-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-component-definition-implemented-requirement-statement",level=ERROR,target="statement",keyFields=@KeyField(target="@statement-id"),remarks="Since `statement` entries can be referenced using the statement\'s statement-id, each statement must be referenced only once.")) public class ComponentImplementedRequirement extends Object implements dev.metaschema.core.model.IBoundObject
Describes how the containing component or capability implements an individual control.
  • Constructor Details

    • ComponentImplementedRequirement

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

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

      @NonNull public UUID getUuid()
      Get the "Control Implementation Identifier".

      Provides a globally unique means to identify a given control implementation by a component.

      Returns:
      the uuid value
    • setUuid

      public void setUuid(@NonNull UUID value)
      Set the "Control Implementation Identifier".

      Provides a globally unique means to identify a given control implementation by a component.

      Parameters:
      value - the uuid value to set
    • getControlId

      @NonNull public String getControlId()
      Get the "Control Identifier Reference".

      A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).

      Returns:
      the control-id value
    • setControlId

      public void setControlId(@NonNull String value)
      Set the "Control Identifier Reference".

      A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).

      Parameters:
      value - the control-id value to set
    • getDescription

      @NonNull public dev.metaschema.core.datatype.markup.MarkupMultiline getDescription()
      Get the "Control Implementation Description".

      A suggestion from the supplier (e.g., component vendor or author) for how the specified control may be implemented if the containing component or capability is instantiated in a system security plan.

      Returns:
      the description value
    • setDescription

      public void setDescription(@NonNull dev.metaschema.core.datatype.markup.MarkupMultiline value)
      Set the "Control Implementation Description".

      A suggestion from the supplier (e.g., component vendor or author) for how the specified control may be implemented if the containing component or capability is instantiated in a system security plan.

      Parameters:
      value - the description 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
    • getSetParameters

      @NonNull public List<SetParameter> getSetParameters()
      Get the "Set Parameter Value".

      Identifies the parameter that will be set by the enclosed value.

      Returns:
      the set-parameter value
    • setSetParameters

      public void setSetParameters(@NonNull List<SetParameter> value)
      Set the "Set Parameter Value".

      Identifies the parameter that will be set by the enclosed value.

      Parameters:
      value - the set-parameter value to set
    • addSetParameter

      public boolean addSetParameter(SetParameter item)
      Add a new SetParameter item to the underlying collection.
      Parameters:
      item - the item to add
      Returns:
      true
    • removeSetParameter

      public boolean removeSetParameter(SetParameter item)
      Remove the first matching SetParameter 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
    • getStatements

      Get the "Control Statement Implementation".

      Identifies which statements within a control are addressed.

      Returns:
      the statement value
    • setStatements

      public void setStatements(@NonNull List<ComponentStatement> value)
      Set the "Control Statement Implementation".

      Identifies which statements within a control are addressed.

      Parameters:
      value - the statement value to set
    • addStatement

      public boolean addStatement(ComponentStatement item)
      Add a new ComponentStatement item to the underlying collection.
      Parameters:
      item - the item to add
      Returns:
      true
    • removeStatement

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