Class LocalObjective

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

@MetaschemaAssembly(formalName="Assessment-Specific Control Objective", description="A local definition of a control objective for this assessment. Uses catalog syntax for control objective and assessment actions.", name="local-objective", moduleClass=OscalAssessmentCommonModule.class, valueConstraints=@ValueConstraints(allowedValues=@AllowedValues(id="oscal-assessment-objective-types",level=ERROR,target="part[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\')]/@name",values={@AllowedValue(value="objective",description="\\*\\*(deprecated)\\*\\* Use \'assessment-objective\' instead.",deprecatedVersion="1.0.1"),@AllowedValue(value="assessment",description="\\*\\*(deprecated)\\*\\* Use \'assessment-method\' instead.",deprecatedVersion="1.0.1"),@AllowedValue(value="assessment-objective",description="The part defines an assessment objective."),@AllowedValue(value="assessment-method",description="The part defines an assessment method.")})), modelConstraints=@HasCardinality(id="oscal-assessment-objective-cardinality",level=ERROR,target="part[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\') and @name=(\'objective\',\'assessment-objective\')]",maxOccurs=1) @HasCardinality(id="oscal-assessment-method-cardinality",level=ERROR,target="part[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\') and @name=(\'assessment\',\'assessment-method\')]/prop[has-oscal-namespace((\'http://csrc.nist.gov/ns/oscal\',\'http://csrc.nist.gov/ns/rmf\')) and @name=\'method\']",minOccurs=1,maxOccurs=1) @HasCardinality(id="oscal-assessment-objects-cardinality",level=ERROR,target="part[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\') and @name=(\'assessment\',\'assessment-method\')]/part[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\') and @name=(\'objects\',\'assessment-objects\')]",minOccurs=1,maxOccurs=1) @HasCardinality(id="oscal-assessment-method-id-cardinality",level=ERROR,target="part[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\') and @name=(\'objective\',\'assessment-objective\')]/prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\') and @name=\'method-id\']",minOccurs=1)) public class LocalObjective extends Object implements dev.metaschema.core.model.IBoundObject
A local definition of a control objective for this assessment. Uses catalog syntax for control objective and assessment actions.
  • Constructor Details

    • LocalObjective

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

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

      @Nullable public dev.metaschema.core.datatype.markup.MarkupMultiline getDescription()
      Get the "Objective Description".

      A human-readable description of this control objective.

      Returns:
      the description value, or null if not set
    • setDescription

      public void setDescription(@Nullable dev.metaschema.core.datatype.markup.MarkupMultiline value)
      Set the "Objective Description".

      A human-readable description of this control objective.

      Parameters:
      value - the description value to set, or null to clear
    • 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
    • getParts

      @NonNull public List<ControlPart> getParts()
      Get the "Part".

      An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part.

      Returns:
      the part value
    • setParts

      public void setParts(@NonNull List<ControlPart> value)
      Set the "Part".

      An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part.

      Parameters:
      value - the part value to set
    • addPart

      public boolean addPart(ControlPart item)
      Add a new ControlPart item to the underlying collection.
      Parameters:
      item - the item to add
      Returns:
      true
    • removePart

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