Class InventoryItem.ImplementedComponent

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

@MetaschemaAssembly(formalName="Implemented Component", description="The set of components that are implemented in a given system inventory item.", name="implemented-component", moduleClass=OscalImplementationCommonModule.class, valueConstraints=@AllowedValues(id="oscal-implemented-component-prop-name-values",level=ERROR,target="prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\')]/@name",values={@AllowedValue(value="version",description="The version of the component."),@AllowedValue(value="patch-level",description="The specific patch level of the component."),@AllowedValue(value="model",description="The model of system used by the asset."),@AllowedValue(value="release-date",description="The date the component was released, such as a software release date or policy publication date."),@AllowedValue(value="validation-type",description="Used with component-type=\'validation\' to provide a well-known name for a kind of validation."),@AllowedValue(value="validation-reference",description="Used with component-type=\'validation\' to indicate the validating body\'s assigned identifier for their validation of this component."),@AllowedValue(value="asset-type",description="Simple indication of the asset\'s function, such as Router, Storage Array, DNS Server."),@AllowedValue(value="asset-id",description="An organizationally specific identifier that is used to uniquely identify a logical or tangible item by the organization that owns the item."),@AllowedValue(value="asset-tag",description="An asset tag assigned by the organization responsible for maintaining the logical or tangible item."),@AllowedValue(value="public",description="Identifies whether the asset is publicly accessible (yes/no)"),@AllowedValue(value="virtual",description="Identifies whether the asset is virtualized (yes/no)"),@AllowedValue(value="vlan-id",description="Virtual LAN identifier of the asset."),@AllowedValue(value="network-id",description="The network identifier of the asset."),@AllowedValue(value="label",description="A human-readable label for the parent context."),@AllowedValue(value="sort-id",description="An alternative identifier, whose value is easily sortable among other such values in the document."),@AllowedValue(value="baseline-configuration-name",description="The name of the baseline configuration for the asset."),@AllowedValue(value="allows-authenticated-scan",description="Can the asset be check with an authenticated scan? (yes/no)"),@AllowedValue(value="function",description="The function provided by the asset for the system."),@AllowedValue(value="hardware-model",description="\\*\\*(deprecated)\\*\\* Use \'model\' instead.",deprecatedVersion="1.2.0"),@AllowedValue(value="os-name",description="The name of the operating system used by the asset."),@AllowedValue(value="os-version",description="The version of the operating system used by the asset."),@AllowedValue(value="software-name",description="The software product name used by the asset."),@AllowedValue(value="software-version",description="The software product version used by the asset."),@AllowedValue(value="software-patch-level",description="The software product patch level used by the asset.")}) @AllowedValues(id="oscal-implemented-component-responsible-party-role-id-values",level=ERROR,target="responsible-party/@role-id",allowOthers=true,values={@AllowedValue(value="asset-owner",description="Accountable for ensuring the asset is managed in accordance with organizational policies and procedures."),@AllowedValue(value="asset-administrator",description="Responsible for administering a set of assets."),@AllowedValue(value="security-operations",description="Members of the security operations center (SOC)."),@AllowedValue(value="network-operations",description="Members of the network operations center (NOC)."),@AllowedValue(value="incident-response",description="Responsible for responding to an event that could lead to loss of, or disruption to, an organization\'s operations, services or functions."),@AllowedValue(value="help-desk",description="Responsible for providing information and support to users."),@AllowedValue(value="configuration-management",description="Responsible for the configuration management processes governing changes to the asset.")}), modelConstraints=@AssemblyConstraints(unique=@IsUnique(id="oscal-unique-implemented-component-responsible-party",level=ERROR,target="responsible-party",keyFields=@KeyField(target="@role-id"),remarks="Since `responsible-party` associates multiple `party-uuid` entries with a single `role-id`, each role-id must be referenced only once."))) public static class InventoryItem.ImplementedComponent extends Object implements dev.metaschema.core.model.IBoundObject
The set of components that are implemented in a given system inventory item.
  • Constructor Details

    • ImplementedComponent

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

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

      @NonNull public UUID getComponentUuid()
      Get the "Component Universally Unique Identifier Reference".

      A machine-oriented identifier reference to a component that is implemented as part of an inventory item.

      Returns:
      the component-uuid value
    • setComponentUuid

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

      A machine-oriented identifier reference to a component that is implemented as part of an inventory item.

      Parameters:
      value - the component-uuid value to set
    • 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
    • getResponsibleParties

      Get the "Responsible Party".

      A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object.

      Returns:
      the responsible-party value
    • setResponsibleParties

      public void setResponsibleParties(@NonNull List<ResponsibleParty> value)
      Set the "Responsible Party".

      A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object.

      Parameters:
      value - the responsible-party value to set
    • addResponsibleParty

      public boolean addResponsibleParty(ResponsibleParty item)
      Add a new ResponsibleParty item to the underlying collection.
      Parameters:
      item - the item to add
      Returns:
      true
    • removeResponsibleParty

      Remove the first matching ResponsibleParty 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