Package gov.nist.secauto.oscal.lib.model
Class SystemSecurityPlan
java.lang.Object
gov.nist.secauto.oscal.lib.model.AbstractOscalInstance
gov.nist.secauto.oscal.lib.model.SystemSecurityPlan
- All Implemented Interfaces:
gov.nist.secauto.metaschema.core.model.IBoundObject
,IOscalInstance
@MetaschemaAssembly(formalName="System Security Plan (SSP)",
description="A system security plan, such as those described in NIST SP 800-18.",
name="system-security-plan",
moduleClass=OscalSspModule.class,
rootName="system-security-plan",
valueConstraints=@ValueConstraints(lets=@Let(name="all-imports",target="resolve-profile(doc(resolve-uri(Q{http://csrc.nist.gov/ns/oscal/1.0}resolve-reference(import-profile/@href))))/catalog")),
modelConstraints=@AssemblyConstraints(index={@Index(level=ERROR,target="control-implementation/implemented-requirement//by-component|doc(system-implementation/leveraged-authorization/link[@rel=\'system-security-plan\']/@href)/system-security-plan/control-implementation/implemented-requirement//by-component",name="by-component-uuid",keyFields=@KeyField(target="@uuid")),@Index(id="oscal-ssp-index-metadata-scoped-role-id",formalName="In-Scope Role Identifiers",description="An index of role identifiers that are in-scope for the system-securtity-plan model. Roles are collected from imported profiles and catalogs. For a given role @id, a locally declared role takes precedence over a role that is imported, the role that was last imported.",level=ERROR,target="map:merge($all-imports/metadata/role ! map:entry(@id,.))?*",name="index-imports-metadata-role-id",keyFields=@KeyField(target="@id")),@Index(id="oscal-ssp-index-metadata-scoped-location-uuid",level=ERROR,target="map:merge($all-imports/metadata/location ! map:entry(@uuid,.))?*",name="index-imports-metadata-location-uuid",keyFields=@KeyField(target="@uuid")),@Index(id="oscal-ssp-index-metadata-scoped-party-uuid",level=ERROR,target="map:merge($all-imports/metadata/party ! map:entry(@uuid,.))?*",name="index-imports-metadata-party-uuid",keyFields=@KeyField(target="@uuid")),@Index(id="oscal-ssp-index-metadata-scoped-party-organization-uuid",level=ERROR,target="map:merge($all-imports/metadata/party[@type=\'organization\'] ! map:entry(@uuid,.))?*",name="index-imports-metadata-party-organization-uuid",keyFields=@KeyField(target="@uuid")),@Index(id="oscal-ssp-index-metadata-scoped-property-uuid",level=ERROR,target="map:merge($all-imports//prop[@uuid] ! map:entry(@uuid,.))?*",name="index-imports-metadata-property-uuid",keyFields=@KeyField(target="@uuid"))},unique={@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 SystemSecurityPlan
extends AbstractOscalInstance
implements gov.nist.secauto.metaschema.core.model.IBoundObject
A system security plan, such as those described in NIST SP 800-18.
-
Constructor Summary
ConstructorsConstructorDescriptionSystemSecurityPlan
(gov.nist.secauto.metaschema.core.model.IMetaschemaData data) -
Method Summary
Modifier and TypeMethodDescriptiongov.nist.secauto.metaschema.core.model.IMetaschemaData
getUuid()
void
setBackMatter
(BackMatter value) void
void
setImportProfile
(ImportProfile value) void
setMetadata
(Metadata value) void
void
void
toString()
Methods inherited from class gov.nist.secauto.oscal.lib.model.AbstractOscalInstance
getResourceByUuid
-
Constructor Details
-
SystemSecurityPlan
public SystemSecurityPlan() -
SystemSecurityPlan
-
-
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
-
getImportProfile
-
setImportProfile
-
getSystemCharacteristics
-
setSystemCharacteristics
-
getSystemImplementation
-
setSystemImplementation
-
getControlImplementation
-
setControlImplementation
-
getBackMatter
- Specified by:
getBackMatter
in interfaceIOscalInstance
-
setBackMatter
-
toString
-