Class Property

All Implemented Interfaces:
dev.metaschema.core.model.IBoundObject, IProperty

@MetaschemaAssembly(formalName="Property", description="An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair.", name="property", moduleClass=OscalMetadataModule.class, remarks="Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.\n\nProperty allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.", valueConstraints=@ValueConstraints(allowedValues=@AllowedValues(id="oscal-metadata-prop-name-values",level=ERROR,target=".[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\')]/@name",values=@AllowedValue(value="marking",description="A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.")))) public class Property extends AbstractProperty implements dev.metaschema.core.model.IBoundObject
An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair.
  • Constructor Details

    • Property

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

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

      @NonNull public String getName()
      Get the "Property Name".

      A textual label, within a namespace, that identifies a specific attribute, characteristic, or quality of the property's containing object.

      Specified by:
      getName in interface IProperty
      Returns:
      the name value
    • setName

      public void setName(@NonNull String value)
      Set the "Property Name".

      A textual label, within a namespace, that identifies a specific attribute, characteristic, or quality of the property's containing object.

      Parameters:
      value - the name value to set
    • getUuid

      @Nullable public UUID getUuid()
      Get the "Property Universally Unique Identifier".

      A unique identifier for a property.

      Returns:
      the uuid value, or null if not set
    • setUuid

      public void setUuid(@Nullable UUID value)
      Set the "Property Universally Unique Identifier".

      A unique identifier for a property.

      Parameters:
      value - the uuid value to set, or null to clear
    • getNs

      @Nullable public URI getNs()
      Get the "Property Namespace".

      A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

      Specified by:
      getNs in interface IProperty
      Returns:
      the ns value, or null if not set
    • setNs

      public void setNs(@Nullable URI value)
      Set the "Property Namespace".

      A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

      Parameters:
      value - the ns value to set, or null to clear
    • getValue

      @NonNull public String getValue()
      Get the "Property Value".

      Indicates the value of the attribute, characteristic, or quality.

      Returns:
      the value value
    • setValue

      public void setValue(@NonNull String value)
      Set the "Property Value".

      Indicates the value of the attribute, characteristic, or quality.

      Parameters:
      value - the value value to set
    • getClazz

      @Nullable public String getClazz()
      Get the "Property Class".

      A textual label that provides a sub-type or characterization of the property's name.

      Returns:
      the class value, or null if not set
    • setClazz

      public void setClazz(@Nullable String value)
      Set the "Property Class".

      A textual label that provides a sub-type or characterization of the property's name.

      Parameters:
      value - the class value to set, or null to clear
    • getGroup

      @Nullable public String getGroup()
      Get the "Property Group".

      An identifier for relating distinct sets of properties.

      Returns:
      the group value, or null if not set
    • setGroup

      public void setGroup(@Nullable String value)
      Set the "Property Group".

      An identifier for relating distinct sets of properties.

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