Package gov.nist.secauto.oscal.lib.model
Class ImplementedRequirement
- java.lang.Object
-
- gov.nist.secauto.oscal.lib.model.ImplementedRequirement
-
@MetaschemaAssembly(formalName="Control-based Requirement", description="Describes how the system satisfies the requirements of an individual control.", name="implemented-requirement", metaschema=OscalSspMetaschema.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(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"))}) @AssemblyConstraints(isUnique={@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.")},hasCardinality=@HasCardinality(level=ERROR,target=".//by-component",minOccurs=1)) public class ImplementedRequirement extends ObjectDescribes how the system satisfies the requirements of an individual control.
-
-
Constructor Summary
Constructors Constructor Description ImplementedRequirement()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanaddByComponent(ByComponent item)Add a newByComponentitem to the underlying collection.booleanaddLink(Link item)Add a newLinkitem to the underlying collection.booleanaddProp(Property item)Add a newPropertyitem to the underlying collection.booleanaddResponsibleRole(ResponsibleRole item)Add 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.List<ByComponent>getByComponents()StringgetControlId()List<Link>getLinks()List<Property>getProps()gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultilinegetRemarks()List<ResponsibleRole>getResponsibleRoles()List<SetParameter>getSetParameters()List<Statement>getStatements()UUIDgetUuid()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.booleanremoveResponsibleRole(ResponsibleRole item)Remove the first matchingResponsibleRoleitem from the underlying collection.booleanremoveSetParameter(SetParameter item)Remove 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)voidsetLinks(List<Link> value)voidsetProps(List<Property> value)voidsetRemarks(gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultiline value)voidsetResponsibleRoles(List<ResponsibleRole> value)voidsetSetParameters(List<SetParameter> value)voidsetStatements(List<Statement> value)voidsetUuid(UUID value)StringtoString()
-
-
-
Constructor Detail
-
ImplementedRequirement
public ImplementedRequirement()
-
-
Method Detail
-
getControlId
public String getControlId()
-
setControlId
public void setControlId(String value)
-
addProp
public boolean addProp(Property item)
Add a newPropertyitem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeProp
public boolean removeProp(Property item)
Remove the first matchingPropertyitem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
addLink
public boolean addLink(Link item)
Add a newLinkitem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeLink
public boolean removeLink(Link item)
Remove the first matchingLinkitem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
getSetParameters
public List<SetParameter> getSetParameters()
-
setSetParameters
public void setSetParameters(List<SetParameter> value)
-
addSetParameter
public boolean addSetParameter(SetParameter item)
Add a newSetParameteritem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeSetParameter
public boolean removeSetParameter(SetParameter item)
Remove the first matchingSetParameteritem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
getResponsibleRoles
public List<ResponsibleRole> getResponsibleRoles()
-
setResponsibleRoles
public void setResponsibleRoles(List<ResponsibleRole> value)
-
addResponsibleRole
public boolean addResponsibleRole(ResponsibleRole item)
Add a newResponsibleRoleitem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeResponsibleRole
public boolean removeResponsibleRole(ResponsibleRole item)
Remove the first matchingResponsibleRoleitem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
getStatements
public List<Statement> getStatements()
-
setStatements
public void setStatements(List<Statement> value)
-
addStatement
public boolean addStatement(Statement item)
Add a newStatementitem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeStatement
public boolean removeStatement(Statement item)
Remove the first matchingStatementitem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
getByComponents
public List<ByComponent> getByComponents()
-
setByComponents
public void setByComponents(List<ByComponent> value)
-
addByComponent
public boolean addByComponent(ByComponent item)
Add a newByComponentitem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeByComponent
public boolean removeByComponent(ByComponent item)
Remove the first matchingByComponentitem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
getRemarks
public gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultiline getRemarks()
-
setRemarks
public void setRemarks(gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultiline value)
-
-