Package gov.nist.secauto.oscal.lib.model
Class Profile
java.lang.Object
gov.nist.secauto.oscal.lib.model.AbstractOscalInstance
gov.nist.secauto.oscal.lib.model.Profile
- All Implemented Interfaces:
gov.nist.secauto.metaschema.core.model.IBoundObject
,IOscalInstance
@MetaschemaAssembly(formalName="Profile",
description="Each OSCAL profile is defined by a `profile` element.",
name="profile",
moduleClass=OscalProfileModule.class,
rootName="profile",
remarks="An OSCAL document that describes a tailoring of controls from one or more catalogs, with possible modification of multiple controls. It provides mechanisms by which controls may be selected (`import`), merged or (re)structured (`merge`), and amended (`modify`). OSCAL profiles may select subsets of controls, set parameter values for them in application, and even adjust the representation of controls as given in and by a catalog. They may also serve as sources for further modification in and by other profiles, that import them.",
modelConstraints=@IsUnique(id="oscal-unique-document-id",formalName="Unique Document Identifier",description="Ensure all document identifiers have a unique combination of @scheme and value.",level=ERROR,target="document-id",keyFields={@KeyField(target="@scheme"),@KeyField}) @IsUnique(id="oscal-unique-property-in-context-location",formalName="Unique Properties",description="Ensure all properties are unique for a given location using a unique combination of @ns, @name, @class. @group. and @value.",level=ERROR,target=".//prop",keyFields={@KeyField(target="path(..)"),@KeyField(target="@name"),@KeyField(target="@ns"),@KeyField(target="@class"),@KeyField(target="@group"),@KeyField(target="@value")}) @IsUnique(id="oscal-unique-link-in-context-location",formalName="Unique Links",description="Ensure all links are unique for a given location using a unique combination of @href, @rel, and @media-type.",level=ERROR,target=".//link",keyFields={@KeyField(target="path(..)"),@KeyField(target="@href"),@KeyField(target="@rel"),@KeyField(target="@media-type")}) @IsUnique(id="oscal-unique-responsibility-in-context-location",formalName="Unique Responsibilities",description="Ensure all responsible-roles and responsible-parties are unique for a given location using a unique combination of @role-id and the combination of @party-uuid values.",level=ERROR,target=".//(responsible-party|responsible-role)",keyFields={@KeyField(target="path(..)"),@KeyField(target="@role-id"),@KeyField(target="@party-uuid")},remarks="Since `responsible-party` and `responsible-role` associate multiple `party-uuid` entries with a single `role-id`, each role-id must be referenced only once."))
public class Profile
extends AbstractOscalInstance
implements gov.nist.secauto.metaschema.core.model.IBoundObject
Each OSCAL profile is defined by a
profile
element.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
addImport
(ProfileImport item) Add a newProfileImport
item to the underlying collection.getMerge()
gov.nist.secauto.metaschema.core.model.IMetaschemaData
getUuid()
boolean
removeImport
(ProfileImport item) Remove the first matchingProfileImport
item from the underlying collection.void
setBackMatter
(BackMatter value) void
setImports
(List<ProfileImport> value) void
void
setMetadata
(Metadata value) void
void
toString()
Methods inherited from class gov.nist.secauto.oscal.lib.model.AbstractOscalInstance
getResourceByUuid
-
Constructor Details
-
Profile
public Profile() -
Profile
-
-
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
-
getImports
-
setImports
-
addImport
Add a newProfileImport
item to the underlying collection.- Parameters:
item
- the item to add- Returns:
true
-
removeImport
Remove the first matchingProfileImport
item from the underlying collection.- Parameters:
item
- the item to remove- Returns:
true
if the item was removed orfalse
otherwise
-
getMerge
-
setMerge
-
getModify
-
setModify
-
getBackMatter
- Specified by:
getBackMatter
in interfaceIOscalInstance
-
setBackMatter
-
toString
-