Class SubjectReference

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

@MetaschemaAssembly(formalName="Identifies the Subject", description="A [human-oriented](https://pages.nist.gov/OSCAL/concepts/identifier-use/#human-oriented) identifier reference to a resource. Use type to indicate whether the identified resource is a component, inventory item, location, user, or something else.", name="subject-reference", moduleClass=OscalAssessmentCommonModule.class, remarks="The subject reference UUID could point to an item defined in the SSP, AP, or AR.\n\nTools should check look for the ID in every file imported directly or indirectly.") public class SubjectReference extends Object implements dev.metaschema.core.model.IBoundObject
A human-oriented identifier reference to a resource. Use type to indicate whether the identified resource is a component, inventory item, location, user, or something else.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructs a new dev.metaschema.oscal.lib.model.SubjectReference instance with no metadata.
    SubjectReference(dev.metaschema.core.model.IMetaschemaData data)
    Constructs a new dev.metaschema.oscal.lib.model.SubjectReference instance with the specified metadata.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    addLink(Link item)
    Add a new Link item to the underlying collection.
    boolean
    Add a new Property item to the underlying collection.
    Get the "Link".
    dev.metaschema.core.model.IMetaschemaData
     
    Get the "Property".
    dev.metaschema.core.datatype.markup.MarkupMultiline
    Get the "Remarks".
    Get the "Subject Universally Unique Identifier Reference".
    dev.metaschema.core.datatype.markup.MarkupLine
    Get the "Subject Reference Title".
    Get the "Subject Universally Unique Identifier Reference Type".
    boolean
    Remove the first matching Link item from the underlying collection.
    boolean
    Remove the first matching Property item from the underlying collection.
    void
    setLinks(List<Link> value)
    Set the "Link".
    void
    Set the "Property".
    void
    setRemarks(dev.metaschema.core.datatype.markup.MarkupMultiline value)
    Set the "Remarks".
    void
    Set the "Subject Universally Unique Identifier Reference".
    void
    setTitle(dev.metaschema.core.datatype.markup.MarkupLine value)
    Set the "Subject Reference Title".
    void
    setType(String value)
    Set the "Subject Universally Unique Identifier Reference Type".
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • SubjectReference

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

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

      @NonNull public UUID getSubjectUuid()
      Get the "Subject Universally Unique Identifier Reference".

      A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID.

      Returns:
      the subject-uuid value
    • setSubjectUuid

      public void setSubjectUuid(@NonNull UUID value)
      Set the "Subject Universally Unique Identifier Reference".

      A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID.

      Parameters:
      value - the subject-uuid value to set
    • getType

      @NonNull public String getType()
      Get the "Subject Universally Unique Identifier Reference Type".

      Used to indicate the type of object pointed to by the uuid-ref within a subject.

      Returns:
      the type value
    • setType

      public void setType(@NonNull String value)
      Set the "Subject Universally Unique Identifier Reference Type".

      Used to indicate the type of object pointed to by the uuid-ref within a subject.

      Parameters:
      value - the type value to set
    • getTitle

      @Nullable public dev.metaschema.core.datatype.markup.MarkupLine getTitle()
      Get the "Subject Reference Title".

      The title or name for the referenced subject.

      Returns:
      the title value, or null if not set
    • setTitle

      public void setTitle(@Nullable dev.metaschema.core.datatype.markup.MarkupLine value)
      Set the "Subject Reference Title".

      The title or name for the referenced subject.

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