Package gov.nist.secauto.oscal.lib.model
Class ByComponent
java.lang.Object
gov.nist.secauto.oscal.lib.model.ByComponent
- All Implemented Interfaces:
gov.nist.secauto.metaschema.core.model.IBoundObject
@MetaschemaAssembly(formalName="Component Control Implementation",
description="Defines how the referenced component implements a set of controls.",
name="by-component",
moduleClass=OscalSspModule.class,
remarks="Use of `set-parameter` in this context, sets the parameter for the control referenced in the containing `implemented-requirement` applied to the referenced component. If the `by-component` is used as a child of a `statement`, then the parameter value also applies only in the context of the referenced statement. If the same parameter is also set in the `control-implementation` or a specific `implemented-requirement`, then this `by-component/set-parameter` value will override the other value(s) in the context of the referenced component, control, and statement (if parent).",
valueConstraints=@ValueConstraints(allowedValues={@AllowedValues(level=ERROR,target="link/@rel",allowOthers=true,values=@AllowedValue(value="imported-from",description="The hyperlink identifies a URI pointing to the `component` in a `component-definition` that originally described the `component` this component was based on.")),@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."),@AllowedValue(value="maintainer",description="Responsible for the creation and maintenance of a component."),@AllowedValue(value="provider",description="Organization responsible for providing the component, if this is different from the \"maintainer\" (e.g., a reseller).")}),@AllowedValues(level=ERROR,target="link/@rel",allowOthers=true,values=@AllowedValue(value="provided-by",description="A reference to the UUID of a control or statement `by-component` object that is used as evidence of implementation."))},indexHasKey=@IndexHasKey(level=ERROR,target="link[@rel=\'provided-by\']",indexName="by-component-uuid",keyFields=@KeyField(target="@href",pattern="#(.*)"))),
modelConstraints=@AssemblyConstraints(unique=@IsUnique(id="unique-ssp-by-component-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.")))
public class ByComponent
extends Object
implements gov.nist.secauto.metaschema.core.model.IBoundObject
Defines how the referenced component implements a set of controls.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classIdentifies content intended for external consumption, such as with leveraged organizations.static classDescribes a control implementation inherited by a leveraging system.static classDescribes how this system satisfies a responsibility imposed by a leveraged system. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanAdd a newByComponent.Inheriteditem 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.booleanAdd a newByComponent.Satisfieditem to the underlying collection.booleanaddSetParameter(SetParameter item) Add a newSetParameteritem to the underlying collection.gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultilinegetLinks()gov.nist.secauto.metaschema.core.model.IMetaschemaDatagetProps()gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultilinegetUuid()booleanRemove the first matchingByComponent.Inheriteditem 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 matchingByComponent.Satisfieditem from the underlying collection.booleanRemove the first matchingSetParameteritem from the underlying collection.voidsetComponentUuid(UUID value) voidsetDescription(gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultiline value) voidsetExport(ByComponent.Export value) voidvoidsetInherited(List<ByComponent.Inherited> value) voidvoidvoidsetRemarks(gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultiline value) voidsetResponsibleRoles(List<ResponsibleRole> value) voidsetSatisfied(List<ByComponent.Satisfied> value) voidsetSetParameters(List<SetParameter> value) voidtoString()
-
Constructor Details
-
ByComponent
public ByComponent() -
ByComponent
-
-
Method Details
-
getMetaschemaData
- Specified by:
getMetaschemaDatain interfacegov.nist.secauto.metaschema.core.model.IBoundObject
-
getComponentUuid
-
setComponentUuid
-
getUuid
-
setUuid
-
getDescription
-
setDescription
-
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
-
getImplementationStatus
-
setImplementationStatus
-
getExport
-
setExport
-
getInherited
-
setInherited
-
addInherited
Add a newByComponent.Inheriteditem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeInherited
Remove the first matchingByComponent.Inheriteditem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
getSatisfied
-
setSatisfied
-
addSatisfied
Add a newByComponent.Satisfieditem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeSatisfied
Remove the first matchingByComponent.Satisfieditem 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
-
getRemarks
-
setRemarks
-
toString
-