Class Capability

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

@MetaschemaAssembly(formalName="Capability", description="A grouping of other components and/or capabilities.", name="capability", moduleClass=OscalComponentDefinitionModule.class, modelConstraints=@AssemblyConstraints(unique=@IsUnique(id="oscal-unique-component-definition-capability-incorporates-component",level=ERROR,target="incorporates-component",keyFields=@KeyField(target="@component-uuid"),remarks="A given `component` must not be referenced more than once within the same `capability`."))) public class Capability extends Object implements dev.metaschema.core.model.IBoundObject
A grouping of other components and/or capabilities.
  • Constructor Details

    • Capability

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

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

      Provides a globally unique means to identify a given capability.

      Returns:
      the uuid value
    • setUuid

      public void setUuid(@NonNull UUID value)
      Set the "Capability Identifier".

      Provides a globally unique means to identify a given capability.

      Parameters:
      value - the uuid value to set
    • getName

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

      The capability's human-readable name.

      Returns:
      the name value
    • setName

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

      The capability's human-readable name.

      Parameters:
      value - the name value to set
    • getDescription

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

      A summary of the capability.

      Returns:
      the description value
    • setDescription

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

      A summary of the capability.

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

      Get the "Incorporates Component".

      The collection of components comprising this capability.

      Returns:
      the incorporates-component value
    • setIncorporatesComponents

      public void setIncorporatesComponents(@NonNull List<IncorporatesComponent> value)
      Set the "Incorporates Component".

      The collection of components comprising this capability.

      Parameters:
      value - the incorporates-component value to set
    • addIncorporatesComponent

      Add a new IncorporatesComponent item to the underlying collection.
      Parameters:
      item - the item to add
      Returns:
      true
    • removeIncorporatesComponent

      Remove the first matching IncorporatesComponent item from the underlying collection.
      Parameters:
      item - the item to remove
      Returns:
      true if the item was removed or false otherwise
    • getControlImplementations

      Get the "Control Implementation Set".

      Defines how the component or capability supports a set of controls.

      Returns:
      the control-implementation value
    • setControlImplementations

      Set the "Control Implementation Set".

      Defines how the component or capability supports a set of controls.

      Parameters:
      value - the control-implementation value to set
    • addControlImplementation

      Add a new ComponentControlImplementation item to the underlying collection.
      Parameters:
      item - the item to add
      Returns:
      true
    • removeControlImplementation

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