Class Mapping

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

@MetaschemaAssembly(formalName="Control Mapping", description="A mapping between two target resources.", name="mapping", moduleClass=OscalMappingCommonModule.class) public class Mapping extends Object implements dev.metaschema.core.model.IBoundObject
A mapping between two target resources.
  • Constructor Details

    • Mapping

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

      public Mapping(dev.metaschema.core.model.IMetaschemaData data)
      Constructs a new dev.metaschema.oscal.lib.model.Mapping 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 "Mapping Universally Unique Identifier".

      A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this mapping definition elsewhere in this or other OSCAL instances. The locally defined UUID of the mapping can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same mapping across revisions of the document.

      Returns:
      the uuid value
    • setUuid

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

      A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this mapping definition elsewhere in this or other OSCAL instances. The locally defined UUID of the mapping can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same mapping across revisions of the document.

      Parameters:
      value - the uuid value to set
    • getMethod

      @Nullable public String getMethod()
      Get the "Method".

      The method used to complete the overall mapping.

      Returns:
      the method value, or null if not set
    • setMethod

      public void setMethod(@Nullable String value)
      Set the "Method".

      The method used to complete the overall mapping.

      Parameters:
      value - the method value to set, or null to clear
    • getMatchingRationale

      @Nullable public String getMatchingRationale()
      Get the "Matching".

      The method used for relating controls within the mapping. The supported methods are aligned with the NIST Interagency Report (IR) 8477, Section 4.3 Set Theory Relationship Mapping.

      Returns:
      the matching-rationale value, or null if not set
    • setMatchingRationale

      public void setMatchingRationale(@Nullable String value)
      Set the "Matching".

      The method used for relating controls within the mapping. The supported methods are aligned with the NIST Interagency Report (IR) 8477, Section 4.3 Set Theory Relationship Mapping.

      Parameters:
      value - the matching-rationale value to set, or null to clear
    • getStatus

      @Nullable public String getStatus()
      Get the "Status".

      The current status of this mapping document.

      Returns:
      the status value, or null if not set
    • setStatus

      public void setStatus(@Nullable String value)
      Set the "Status".

      The current status of this mapping document.

      Parameters:
      value - the status value to set, or null to clear
    • getSourceResource

      Get the "Mapped Resource Reference".

      A reference to a resource that is either the source or the target of a mapping.

      Returns:
      the source-resource value
    • setSourceResource

      public void setSourceResource(@NonNull MappingResourceReference value)
      Set the "Mapped Resource Reference".

      A reference to a resource that is either the source or the target of a mapping.

      Parameters:
      value - the source-resource value to set
    • getTargetResource

      Get the "Mapped Resource Reference".

      A reference to a resource that is either the source or the target of a mapping.

      Returns:
      the target-resource value
    • setTargetResource

      public void setTargetResource(@NonNull MappingResourceReference value)
      Set the "Mapped Resource Reference".

      A reference to a resource that is either the source or the target of a mapping.

      Parameters:
      value - the target-resource value to set
    • getMaps

      @NonNull public List<MappingEntry> getMaps()
      Get the "Mapping Entry".

      A relationship-based mapping between a source and target set consisting of members (i.e., controls, control statements) from the respective source and target.

      Returns:
      the map value
    • setMaps

      public void setMaps(@NonNull List<MappingEntry> value)
      Set the "Mapping Entry".

      A relationship-based mapping between a source and target set consisting of members (i.e., controls, control statements) from the respective source and target.

      Parameters:
      value - the map value to set
    • addMap

      public boolean addMap(MappingEntry item)
      Add a new MappingEntry item to the underlying collection.
      Parameters:
      item - the item to add
      Returns:
      true
    • removeMap

      public boolean removeMap(MappingEntry item)
      Remove the first matching MappingEntry item from the underlying collection.
      Parameters:
      item - the item to remove
      Returns:
      true if the item was removed or false otherwise
    • 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
    • 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
    • getMappingDescription

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

      Description of the context and intended use of the mapping set.

      Returns:
      the mapping-description value, or null if not set
    • setMappingDescription

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

      Description of the context and intended use of the mapping set.

      Parameters:
      value - the mapping-description value to set, or null to clear
    • getSourceGapSummary

      @Nullable public GapSummary getSourceGapSummary()
      Get the "Gap Summary".

      A by-id collection of all controls that were not mapped at all in this mapping-collection. If a control is partially mapped, the parts of the control are not mappable, the gap and discrepancies should be documented in the relationship-gal.

      Returns:
      the source-gap-summary value, or null if not set
    • setSourceGapSummary

      public void setSourceGapSummary(@Nullable GapSummary value)
      Set the "Gap Summary".

      A by-id collection of all controls that were not mapped at all in this mapping-collection. If a control is partially mapped, the parts of the control are not mappable, the gap and discrepancies should be documented in the relationship-gal.

      Parameters:
      value - the source-gap-summary value to set, or null to clear
    • getTargetGapSummary

      @Nullable public GapSummary getTargetGapSummary()
      Get the "Gap Summary".

      A by-id collection of all controls that were not mapped at all in this mapping-collection. If a control is partially mapped, the parts of the control are not mappable, the gap and discrepancies should be documented in the relationship-gal.

      Returns:
      the target-gap-summary value, or null if not set
    • setTargetGapSummary

      public void setTargetGapSummary(@Nullable GapSummary value)
      Set the "Gap Summary".

      A by-id collection of all controls that were not mapped at all in this mapping-collection. If a control is partially mapped, the parts of the control are not mappable, the gap and discrepancies should be documented in the relationship-gal.

      Parameters:
      value - the target-gap-summary value to set, or null to clear
    • getConfidenceScore

      @Nullable public ConfidenceScore getConfidenceScore()
      Get the "Confidence Score".

      This records either a string category or a decimal value from 0-1 representing a percentage. Both of these values describe an estimation of the author's confidence that this mapping is correct and accurate.

      Returns:
      the confidence-score value, or null if not set
    • setConfidenceScore

      public void setConfidenceScore(@Nullable ConfidenceScore value)
      Set the "Confidence Score".

      This records either a string category or a decimal value from 0-1 representing a percentage. Both of these values describe an estimation of the author's confidence that this mapping is correct and accurate.

      Parameters:
      value - the confidence-score value to set, or null to clear
    • getCoverage

      @Nullable public Coverage getCoverage()
      Get the "Coverage".

      A decimal value from 0-1, representing the percentage coverage of the targets by the sources.

      Returns:
      the coverage value, or null if not set
    • setCoverage

      public void setCoverage(@Nullable Coverage value)
      Set the "Coverage".

      A decimal value from 0-1, representing the percentage coverage of the targets by the sources.

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

      public String toString()
      Overrides:
      toString in class Object