Class Diagram

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

@MetaschemaAssembly(formalName="Diagram", description="A graphic that provides a visual representation the system, or some aspect of it.", name="diagram", moduleClass=OscalSspModule.class, remarks="A diagram must include a `link` with a rel value of \"diagram\", who\'s href references a remote URI or an internal reference within this document containing the diagram.", valueConstraints=@ValueConstraints(allowedValues=@AllowedValues(id="oscal-diagram-link-rel-values",level=ERROR,target="link/@rel",allowOthers=true,values=@AllowedValue(value="diagram",description="A reference to the diagram image.")),indexHasKey=@IndexHasKey(id="oscal-diagram-index-back-matter-resource-link-rel",level=ERROR,target="link[@rel=\'diagram\' and starts-with(@href,\'#\')]",indexName="index-back-matter-resource",keyFields=@KeyField(target="@href",pattern="#(.*)")),matches={@Matches(id="oscal-diagram-datatype-uri-reference",level=ERROR,target="link[@rel=\'diagram\']/@href[starts-with(.,\'#\')]",typeAdapter=dev.metaschema.core.datatype.adapter.UriReferenceAdapter.class),@Matches(id="oscal-diagram-datatype-uri",level=ERROR,target="link[@rel=\'diagram\']/@href[not(starts-with(.,\'#\'))]",typeAdapter=dev.metaschema.core.datatype.adapter.UriAdapter.class)})) public class Diagram extends Object implements dev.metaschema.core.model.IBoundObject
A graphic that provides a visual representation the system, or some aspect of it.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructs a new dev.metaschema.oscal.lib.model.Diagram instance with no metadata.
    Diagram(dev.metaschema.core.model.IMetaschemaData data)
    Constructs a new dev.metaschema.oscal.lib.model.Diagram 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.
    dev.metaschema.core.datatype.markup.MarkupLine
    Get the "Caption".
    dev.metaschema.core.datatype.markup.MarkupMultiline
    Get the "Diagram Description".
    Get the "Link".
    dev.metaschema.core.model.IMetaschemaData
     
    Get the "Property".
    dev.metaschema.core.datatype.markup.MarkupMultiline
    Get the "Remarks".
    Get the "Diagram ID".
    boolean
    Remove the first matching Link item from the underlying collection.
    boolean
    Remove the first matching Property item from the underlying collection.
    void
    setCaption(dev.metaschema.core.datatype.markup.MarkupLine value)
    Set the "Caption".
    void
    setDescription(dev.metaschema.core.datatype.markup.MarkupMultiline value)
    Set the "Diagram Description".
    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
    setUuid(UUID value)
    Set the "Diagram ID".
     

    Methods inherited from class java.lang.Object

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

    • Diagram

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

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

      A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this diagram elsewhere in this or other OSCAL instances. The locally defined UUID of the diagram 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 subject across revisions of the document.

      Returns:
      the uuid value
    • setUuid

      public void setUuid(@NonNull UUID value)
      Set the "Diagram ID".

      A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this diagram elsewhere in this or other OSCAL instances. The locally defined UUID of the diagram 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 subject across revisions of the document.

      Parameters:
      value - the uuid value to set
    • getDescription

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

      A summary of the diagram.

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

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

      A summary of the diagram.

      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
    • getCaption

      @Nullable public dev.metaschema.core.datatype.markup.MarkupLine getCaption()
      Get the "Caption".

      A brief caption to annotate the diagram.

      Returns:
      the caption value, or null if not set
    • setCaption

      public void setCaption(@Nullable dev.metaschema.core.datatype.markup.MarkupLine value)
      Set the "Caption".

      A brief caption to annotate the diagram.

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