Class CatalogGroup

All Implemented Interfaces:
dev.metaschema.core.model.IBoundObject, ICatalogGroup, IControlContainer, IGroupContainer

@MetaschemaAssembly(formalName="Control Group", description="A group of controls, or of groups of controls.", name="group", moduleClass=OscalCatalogModule.class, remarks="Catalogs can use the catalog `group` construct to organize related controls into a single grouping, such as a family of controls or other logical organizational structure.\n\nA `group` may have its own properties, statements, parameters, and references, which are inherited by all controls of that are a member of the group.", valueConstraints=@AllowedValues(id="oscal-group-prop-name",level=ERROR,target="prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\')]/@name",values={@AllowedValue(value="label",description="A human-readable label for the parent context, which may be rendered in place of the actual identifier for some use cases."),@AllowedValue(value="sort-id",description="An alternative identifier, whose value is easily sortable among other such values in the document."),@AllowedValue(value="alt-identifier",description="An alternate or aliased identifier for the parent context.")}) @AllowedValues(id="oscal-group-part-name",level=ERROR,target="part[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\')]/@name",values={@AllowedValue(value="overview",description="An introduction to a control or a group of controls."),@AllowedValue(value="instruction",description="Information providing directions for a control or a group of controls.")})) public class CatalogGroup extends AbstractCatalogGroup implements dev.metaschema.core.model.IBoundObject
A group of controls, or of groups of controls.
  • Constructor Details

    • CatalogGroup

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

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

      @Nullable public String getId()
      Get the "Group Identifier".

      Identifies the group for the purpose of cross-linking within the defining instance or from other instances that reference the catalog.

      Returns:
      the id value, or null if not set
    • setId

      public void setId(@Nullable String value)
      Set the "Group Identifier".

      Identifies the group for the purpose of cross-linking within the defining instance or from other instances that reference the catalog.

      Parameters:
      value - the id value to set, or null to clear
    • getClazz

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

      A textual label that provides a sub-type or characterization of the group.

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

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

      A textual label that provides a sub-type or characterization of the group.

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

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

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

      Returns:
      the title value
    • setTitle

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

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

      Parameters:
      value - the title value to set
    • getParams

      @NonNull public List<Parameter> getParams()
      Get the "Parameter".

      Parameters provide a mechanism for the dynamic assignment of value(s) in a control.

      Specified by:
      getParams in interface IControlContainer
      Returns:
      the param value
    • setParams

      public void setParams(@NonNull List<Parameter> value)
      Set the "Parameter".

      Parameters provide a mechanism for the dynamic assignment of value(s) in a control.

      Parameters:
      value - the param value to set
    • addParam

      public boolean addParam(Parameter item)
      Add a new Parameter item to the underlying collection.
      Specified by:
      addParam in interface IControlContainer
      Parameters:
      item - the item to add
      Returns:
      true
    • removeParam

      public boolean removeParam(Parameter item)
      Remove the first matching Parameter item from the underlying collection.
      Specified by:
      removeParam in interface IControlContainer
      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
    • getParts

      @NonNull public List<ControlPart> getParts()
      Get the "Part".

      An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part.

      Specified by:
      getParts in interface ICatalogGroup
      Returns:
      the part value
    • setParts

      public void setParts(@NonNull List<ControlPart> value)
      Set the "Part".

      An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part.

      Parameters:
      value - the part value to set
    • addPart

      public boolean addPart(ControlPart item)
      Add a new ControlPart item to the underlying collection.
      Parameters:
      item - the item to add
      Returns:
      true
    • removePart

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

      @NonNull public List<CatalogGroup> getGroups()
      Get the "Control Group".

      A group of controls, or of groups of controls.

      Specified by:
      getGroups in interface IGroupContainer
      Returns:
      the group value
    • setGroups

      public void setGroups(@NonNull List<CatalogGroup> value)
      Set the "Control Group".

      A group of controls, or of groups of controls.

      Parameters:
      value - the group value to set
    • addGroup

      public boolean addGroup(CatalogGroup item)
      Add a new CatalogGroup item to the underlying collection.
      Specified by:
      addGroup in interface IGroupContainer
      Parameters:
      item - the item to add
      Returns:
      true
    • removeGroup

      public boolean removeGroup(CatalogGroup item)
      Remove the first matching CatalogGroup item from the underlying collection.
      Specified by:
      removeGroup in interface IGroupContainer
      Parameters:
      item - the item to remove
      Returns:
      true if the item was removed or false otherwise
    • getControls

      @NonNull public List<Control> getControls()
      Get the "Control".

      A structured object representing a requirement or guideline, which when implemented will reduce an aspect of risk related to an information system and its information.

      Specified by:
      getControls in interface IControlContainer
      Returns:
      the control value
    • setControls

      public void setControls(@NonNull List<Control> value)
      Set the "Control".

      A structured object representing a requirement or guideline, which when implemented will reduce an aspect of risk related to an information system and its information.

      Parameters:
      value - the control value to set
    • addControl

      public boolean addControl(Control item)
      Add a new Control item to the underlying collection.
      Specified by:
      addControl in interface IControlContainer
      Parameters:
      item - the item to add
      Returns:
      true
    • removeControl

      public boolean removeControl(Control item)
      Remove the first matching Control item from the underlying collection.
      Specified by:
      removeControl in interface IControlContainer
      Parameters:
      item - the item to remove
      Returns:
      true if the item was removed or false otherwise
    • toString

      public String toString()
      Overrides:
      toString in class Object