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"),@KeyField(target="@resource-fragment")}) @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 TypeMethodDescriptionbooleanaddImport(ProfileImport item) Add a newProfileImportitem to the underlying collection.getMerge()gov.nist.secauto.metaschema.core.model.IMetaschemaDatagetUuid()booleanremoveImport(ProfileImport item) Remove the first matchingProfileImportitem from the underlying collection.voidsetBackMatter(BackMatter value) voidsetImports(List<ProfileImport> value) voidvoidsetMetadata(Metadata value) voidvoidtoString()Methods inherited from class gov.nist.secauto.oscal.lib.model.AbstractOscalInstance
getResourceByUuid
-
Constructor Details
-
Profile
public Profile() -
Profile
-
-
Method Details
-
getMetaschemaData
- Specified by:
getMetaschemaDatain interfacegov.nist.secauto.metaschema.core.model.IBoundObject
-
getUuid
- Specified by:
getUuidin interfaceIOscalInstance
-
setUuid
-
getMetadata
- Specified by:
getMetadatain interfaceIOscalInstance
-
setMetadata
-
getImports
-
setImports
-
addImport
Add a newProfileImportitem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeImport
Remove the first matchingProfileImportitem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
getMerge
-
setMerge
-
getModify
-
setModify
-
getBackMatter
- Specified by:
getBackMatterin interfaceIOscalInstance
-
setBackMatter
-
toString
-