Package gov.nist.secauto.oscal.lib.model
Class ImplementedRequirement
java.lang.Object
gov.nist.secauto.oscal.lib.model.ImplementedRequirement
- All Implemented Interfaces:
gov.nist.secauto.metaschema.core.model.IBoundObject
@MetaschemaAssembly(formalName="Control-based Requirement",
description="Describes how the system satisfies the requirements of an individual control.",
name="implemented-requirement",
moduleClass=OscalSspModule.class,
remarks="Use of `set-parameter` in this context, sets the parameter for the referenced control. Any `set-parameter` defined in a child context will override this value. If not overridden by a child, this value applies in the child context.",
valueConstraints=@ValueConstraints(allowedValues={@AllowedValues(level=ERROR,target="(.|statement|.//by-component)/prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\')]/@name",values=@AllowedValue(value="control-origination",description="Identifies the source of the implemented control. Any `control-origination` prop defined in a child context will override the parent value.")),@AllowedValues(level=ERROR,target="(.|statement|.//by-component)/prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\') and @name=\'control-origination\']/@value",values={@AllowedValue(value="organization",description="The control is implemented by the organization owning the system, but is not specific to the system itself."),@AllowedValue(value="system-specific",description="The control is implemented specifically to this system."),@AllowedValue(value="customer-configured",description="The control is provided by the system, but must be configured by the customer."),@AllowedValue(value="customer-provided",description="The control must be implemented by the customer."),@AllowedValue(value="inherited",description="This control is inherited from an underlying system.")}),@AllowedValues(level=ERROR,target="responsible-role/@role-id",allowOthers=true,values={@AllowedValue(value="asset-owner",description="Accountable for ensuring the asset is managed in accordance with organizational policies and procedures."),@AllowedValue(value="asset-administrator",description="Responsible for administering a set of assets."),@AllowedValue(value="security-operations",description="Members of the security operations center (SOC)."),@AllowedValue(value="network-operations",description="Members of the network operations center (NOC)."),@AllowedValue(value="incident-response",description="Responsible for responding to an event that could lead to loss of, or disruption to, an organization\'s operations, services or functions."),@AllowedValue(value="help-desk",description="Responsible for providing information and support to users."),@AllowedValue(value="configuration-management",description="Responsible for the configuration management processes governing changes to the asset.")})},indexHasKey={@IndexHasKey(level=ERROR,target="responsible-role|statement/responsible-role|.//by-component//responsible-role",indexName="index-metadata-role-id",keyFields=@KeyField(target="@role-id")),@IndexHasKey(level=ERROR,target="responsible-role|statement/responsible-role|.//by-component//responsible-role",indexName="index-metadata-party-uuid",keyFields=@KeyField(target="party-uuid"))}),
modelConstraints=@AssemblyConstraints(unique={@IsUnique(id="unique-ssp-implemented-requirement-set-parameter",level=ERROR,target="set-parameter",keyFields=@KeyField(target="@param-id"),remarks="Since multiple `set-parameter` entries can be provided, each parameter must be set only once."),@IsUnique(id="unique-ssp-implemented-requirement-responsible-role",level=ERROR,target="responsible-role",keyFields=@KeyField(target="@role-id"),remarks="Since `responsible-role` associates multiple `party-uuid` entries with a single `role-id`, each role-id must be referenced only once."),@IsUnique(id="unique-ssp-implemented-requirement-statement",level=ERROR,target="statement",keyFields=@KeyField(target="@statement-id"),remarks="Since `statement` entries can be referenced using the statement\'s statement-id, each statement must be referenced only once."),@IsUnique(id="unique-ssp-implemented-requirement-by-component",level=ERROR,target="by-component",keyFields=@KeyField(target="@component-uuid"),remarks="Since `by-component` can reference `component` entries using the component\'s uuid, each component must be referenced only once. This ensures that all implementation statements are contained in the same `by-component` entry.")},cardinality=@HasCardinality(level=ERROR,target=".//by-component",minOccurs=1)))
public class ImplementedRequirement
extends Object
implements gov.nist.secauto.metaschema.core.model.IBoundObject
Describes how the system satisfies the requirements of an individual control.
-
Constructor Summary
ConstructorsConstructorDescriptionImplementedRequirement(gov.nist.secauto.metaschema.core.model.IMetaschemaData data) -
Method Summary
Modifier and TypeMethodDescriptionbooleanaddByComponent(ByComponent item) Add a newByComponentitem to the underlying collection.booleanAdd a newLinkitem to the underlying collection.booleanAdd a newPropertyitem to the underlying collection.booleanAdd a newResponsibleRoleitem to the underlying collection.booleanaddSetParameter(SetParameter item) Add a newSetParameteritem to the underlying collection.booleanaddStatement(Statement item) Add a newStatementitem to the underlying collection.getLinks()gov.nist.secauto.metaschema.core.model.IMetaschemaDatagetProps()gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultilinegetUuid()booleanremoveByComponent(ByComponent item) Remove the first matchingByComponentitem from the underlying collection.booleanremoveLink(Link item) Remove the first matchingLinkitem from the underlying collection.booleanremoveProp(Property item) Remove the first matchingPropertyitem from the underlying collection.booleanRemove the first matchingResponsibleRoleitem from the underlying collection.booleanRemove the first matchingSetParameteritem from the underlying collection.booleanremoveStatement(Statement item) Remove the first matchingStatementitem from the underlying collection.voidsetByComponents(List<ByComponent> value) voidsetControlId(String value) voidvoidvoidsetRemarks(gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultiline value) voidsetResponsibleRoles(List<ResponsibleRole> value) voidsetSetParameters(List<SetParameter> value) voidsetStatements(List<Statement> value) voidtoString()
-
Constructor Details
-
ImplementedRequirement
public ImplementedRequirement() -
ImplementedRequirement
-
-
Method Details
-
getMetaschemaData
- Specified by:
getMetaschemaDatain interfacegov.nist.secauto.metaschema.core.model.IBoundObject
-
getUuid
-
setUuid
-
getControlId
-
setControlId
-
getProps
-
setProps
-
addProp
Add a newPropertyitem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeProp
Remove the first matchingPropertyitem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
getLinks
-
setLinks
-
addLink
Add a newLinkitem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeLink
Remove the first matchingLinkitem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
getSetParameters
-
setSetParameters
-
addSetParameter
Add a newSetParameteritem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeSetParameter
Remove the first matchingSetParameteritem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
getResponsibleRoles
-
setResponsibleRoles
-
addResponsibleRole
Add a newResponsibleRoleitem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeResponsibleRole
Remove the first matchingResponsibleRoleitem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
getStatements
-
setStatements
-
addStatement
Add a newStatementitem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeStatement
Remove the first matchingStatementitem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
getByComponents
-
setByComponents
-
addByComponent
Add a newByComponentitem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeByComponent
Remove the first matchingByComponentitem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
getRemarks
-
setRemarks
-
toString
-