Class Metadata.Location

java.lang.Object
dev.metaschema.oscal.lib.model.Metadata.Location
All Implemented Interfaces:
dev.metaschema.core.model.IBoundObject
Enclosing class:
Metadata

@MetaschemaAssembly(formalName="Location", description="A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document.", name="location", moduleClass=OscalMetadataModule.class, remarks="An address might be sensitive in nature. In such cases a title, mailing address, email-address, and/or phone number may be used instead.", valueConstraints=@AllowedValues(id="oscal-metadata-location-prop-name-values",level=ERROR,target="prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\')]/@name",values=@AllowedValue(value="type",description="Characterizes the kind of location.")) @AllowedValues(id="oscal-metadata-location-prop-type-values",level=ERROR,target="prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\') and @name=\'type\']/@value",values=@AllowedValue(value="data-center",description="A location that contains computing assets. A `class` can be used to indicate the sub-type of data-center as *primary* or *alternate*.")) @AllowedValues(id="oscal-metadata-location-prop-type-data-center-values",level=ERROR,target="prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\') and @name=\'type\' and @value=\'data-center\']/@class",values={@AllowedValue(value="primary",description="The location is a data-center used for normal operations."),@AllowedValue(value="alternate",description="The location is a data-center used for fail-over or backup operations.")}), modelConstraints=@HasCardinality(id="oscal-metadata-location-address-cardinality",description="In most cases, it is useful to define a location. In some cases, defining an explicit location may represent a security risk.",level=WARNING,target="address",minOccurs=1) @HasCardinality(id="oscal-metadata-location-title-address-email-address-telephone-cardinality",description="A location must have at least a title, address, email-address, or telephone number.",level=ERROR,target="title|address|email-address|telephone-number",minOccurs=1)) public static class Metadata.Location extends Object implements dev.metaschema.core.model.IBoundObject
A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document.
  • Constructor Details

    • Location

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

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

      A unique ID for the location, for reference.

      Returns:
      the uuid value
    • setUuid

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

      A unique ID for the location, for reference.

      Parameters:
      value - the uuid value to set
    • getTitle

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

      A name given to the location, which may be used by a tool for display and navigation.

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

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

      A name given to the location, which may be used by a tool for display and navigation.

      Parameters:
      value - the title value to set, or null to clear
    • getAddress

      @Nullable public Address getAddress()
      Get the "Address".

      A postal address for the location.

      Returns:
      the address value, or null if not set
    • setAddress

      public void setAddress(@Nullable Address value)
      Set the "Address".

      A postal address for the location.

      Parameters:
      value - the address value to set, or null to clear
    • getEmailAddresses

      @NonNull public List<String> getEmailAddresses()
      Get the "Email Address".

      An email address as defined by RFC 5322 Section 3.4.1.

      Returns:
      the email-address value
    • setEmailAddresses

      public void setEmailAddresses(@NonNull List<String> value)
      Set the "Email Address".

      An email address as defined by RFC 5322 Section 3.4.1.

      Parameters:
      value - the email-address value to set
    • addEmailAddress

      public boolean addEmailAddress(String item)
      Add a new String item to the underlying collection.
      Parameters:
      item - the item to add
      Returns:
      true
    • removeEmailAddress

      public boolean removeEmailAddress(String item)
      Remove the first matching String item from the underlying collection.
      Parameters:
      item - the item to remove
      Returns:
      true if the item was removed or false otherwise
    • getTelephoneNumbers

      Get the "Telephone Number".

      A telephone service number as defined by ITU-T E.164.

      Returns:
      the telephone-number value
    • setTelephoneNumbers

      public void setTelephoneNumbers(@NonNull List<TelephoneNumber> value)
      Set the "Telephone Number".

      A telephone service number as defined by ITU-T E.164.

      Parameters:
      value - the telephone-number value to set
    • addTelephoneNumber

      public boolean addTelephoneNumber(TelephoneNumber item)
      Add a new TelephoneNumber item to the underlying collection.
      Parameters:
      item - the item to add
      Returns:
      true
    • removeTelephoneNumber

      public boolean removeTelephoneNumber(TelephoneNumber item)
      Remove the first matching TelephoneNumber item from the underlying collection.
      Parameters:
      item - the item to remove
      Returns:
      true if the item was removed or false otherwise
    • getUrls

      @NonNull public List<URI> getUrls()
      Get the "Location URL".

      The uniform resource locator (URL) for a web site or other resource associated with the location.

      Returns:
      the url value
    • setUrls

      public void setUrls(@NonNull List<URI> value)
      Set the "Location URL".

      The uniform resource locator (URL) for a web site or other resource associated with the location.

      Parameters:
      value - the url value to set
    • addUrl

      public boolean addUrl(URI item)
      Add a new URI item to the underlying collection.
      Parameters:
      item - the item to add
      Returns:
      true
    • removeUrl

      public boolean removeUrl(URI item)
      Remove the first matching URI 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
    • toString

      public String toString()
      Overrides:
      toString in class Object