Package gov.nist.secauto.oscal.lib.model
Class Catalog
java.lang.Object
gov.nist.secauto.oscal.lib.model.AbstractOscalInstance
gov.nist.secauto.oscal.lib.model.control.catalog.AbstractCatalog
gov.nist.secauto.oscal.lib.model.Catalog
- All Implemented Interfaces:
gov.nist.secauto.metaschema.core.model.IBoundObject
,ICatalog
,IControlContainer
,IGroupContainer
,IOscalInstance
@MetaschemaAssembly(formalName="Catalog",
description="A structured, [organized collection](https://pages.nist.gov/OSCAL/concepts/terminology/#catalog) of control information.",
name="catalog",
moduleClass=OscalCatalogModule.class,
rootName="catalog",
remarks="Catalogs may use one or more `group` objects to subdivide the control contents of a catalog.",
valueConstraints=@AllowedValues(level=ERROR,target="metadata/prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\')]/@name",values={@AllowedValue(value="resolution-tool",description="The tool used to produce a resolved profile."),@AllowedValue(value="source-profile-uuid",description="The document-level `uuid` of the source profile from which the catalog was produced by [profile resolution](https://pages.nist.gov/OSCAL/concepts/processing/profile-resolution/).")}) @AllowedValues(level=ERROR,target="metadata/link/@rel",allowOthers=true,values={@AllowedValue(value="source-profile",description="The profile from which the catalog was produced by [profile resolution](https://pages.nist.gov/OSCAL/concepts/processing/profile-resolution/)."),@AllowedValue(value="source-profile-uuid",description="The document-level `uuid` of the profile from which the catalog was produced by [profile resolution](https://pages.nist.gov/OSCAL/concepts/processing/profile-resolution/).")}),
modelConstraints=@Index(level=ERROR,target="//part",name="catalog-parts",keyFields=@KeyField(target="@id")) @Index(level=ERROR,target="//prop",name="catalog-props",keyFields=@KeyField(target="@uuid")) @Index(level=ERROR,target="//(control|group|part)",name="catalog-groups-controls-parts",keyFields=@KeyField(target="@id")) @Index(level=ERROR,target="//control",name="catalog-controls",keyFields=@KeyField(target="@id")) @Index(level=ERROR,target="//param",name="catalog-params",keyFields=@KeyField(target="@id")) @Index(level=ERROR,target="//group",name="catalog-groups",keyFields=@KeyField(target="@id")))
public class Catalog
extends AbstractCatalog
implements gov.nist.secauto.metaschema.core.model.IBoundObject
A structured, organized collection of control information.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
addControl
(Control item) Add a newControl
item to the underlying collection.boolean
addGroup
(CatalogGroup item) Add a newCatalogGroup
item to the underlying collection.boolean
Add a newParameter
item to the underlying collection.gov.nist.secauto.metaschema.core.model.IMetaschemaData
getUuid()
boolean
removeControl
(Control item) Remove the first matchingControl
item from the underlying collection.boolean
removeGroup
(CatalogGroup item) Remove the first matchingCatalogGroup
item from the underlying collection.boolean
removeParam
(Parameter item) Remove the first matchingParameter
item from the underlying collection.void
setBackMatter
(BackMatter value) void
setControls
(List<Control> value) void
setGroups
(List<CatalogGroup> value) void
setMetadata
(Metadata value) void
void
toString()
Methods inherited from class gov.nist.secauto.oscal.lib.model.control.catalog.AbstractCatalog
getReferencedParameterIds
Methods inherited from class gov.nist.secauto.oscal.lib.model.AbstractOscalInstance
getResourceByUuid
-
Constructor Details
-
Catalog
public Catalog() -
Catalog
-
-
Method Details
-
getMetaschemaData
- Specified by:
getMetaschemaData
in interfacegov.nist.secauto.metaschema.core.model.IBoundObject
-
getUuid
- Specified by:
getUuid
in interfaceIOscalInstance
-
setUuid
-
getMetadata
- Specified by:
getMetadata
in interfaceIOscalInstance
-
setMetadata
-
getParams
- Specified by:
getParams
in interfaceIControlContainer
-
setParams
-
addParam
Add a newParameter
item to the underlying collection.- Specified by:
addParam
in interfaceIControlContainer
- Parameters:
item
- the item to add- Returns:
true
-
removeParam
Remove the first matchingParameter
item from the underlying collection.- Specified by:
removeParam
in interfaceIControlContainer
- Parameters:
item
- the item to remove- Returns:
true
if the item was removed orfalse
otherwise
-
getControls
- Specified by:
getControls
in interfaceIControlContainer
-
setControls
-
addControl
Add a newControl
item to the underlying collection.- Specified by:
addControl
in interfaceIControlContainer
- Parameters:
item
- the item to add- Returns:
true
-
removeControl
Remove the first matchingControl
item from the underlying collection.- Specified by:
removeControl
in interfaceIControlContainer
- Parameters:
item
- the item to remove- Returns:
true
if the item was removed orfalse
otherwise
-
getGroups
- Specified by:
getGroups
in interfaceIGroupContainer
-
setGroups
-
addGroup
Add a newCatalogGroup
item to the underlying collection.- Specified by:
addGroup
in interfaceIGroupContainer
- Parameters:
item
- the item to add- Returns:
true
-
removeGroup
Remove the first matchingCatalogGroup
item from the underlying collection.- Specified by:
removeGroup
in interfaceIGroupContainer
- Parameters:
item
- the item to remove- Returns:
true
if the item was removed orfalse
otherwise
-
getBackMatter
- Specified by:
getBackMatter
in interfaceIOscalInstance
-
setBackMatter
-
toString
-