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
Modifier and TypeClassDescriptionstatic class
Identifies content intended for external consumption, such as with leveraged organizations.static class
Describes a control implementation inherited by a leveraging system.static class
Describes how this system satisfies a responsibility imposed by a leveraged system. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Add a newByComponent.Inherited
item to the underlying collection.boolean
Add a newLink
item to the underlying collection.boolean
Add a newProperty
item to the underlying collection.boolean
Add a newResponsibleRole
item to the underlying collection.boolean
Add a newByComponent.Satisfied
item to the underlying collection.boolean
addSetParameter
(SetParameter item) Add a newSetParameter
item to the underlying collection.gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultiline
getLinks()
gov.nist.secauto.metaschema.core.model.IMetaschemaData
getProps()
gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultiline
getUuid()
boolean
Remove the first matchingByComponent.Inherited
item from the underlying collection.boolean
removeLink
(Link item) Remove the first matchingLink
item from the underlying collection.boolean
removeProp
(Property item) Remove the first matchingProperty
item from the underlying collection.boolean
Remove the first matchingResponsibleRole
item from the underlying collection.boolean
Remove the first matchingByComponent.Satisfied
item from the underlying collection.boolean
Remove the first matchingSetParameter
item from the underlying collection.void
setComponentUuid
(UUID value) void
setDescription
(gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultiline value) void
setExport
(ByComponent.Export value) void
void
setInherited
(List<ByComponent.Inherited> value) void
void
void
setRemarks
(gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultiline value) void
setResponsibleRoles
(List<ResponsibleRole> value) void
setSatisfied
(List<ByComponent.Satisfied> value) void
setSetParameters
(List<SetParameter> value) void
toString()
-
Constructor Details
-
ByComponent
public ByComponent() -
ByComponent
-
-
Method Details
-
getMetaschemaData
- Specified by:
getMetaschemaData
in interfacegov.nist.secauto.metaschema.core.model.IBoundObject
-
getComponentUuid
-
setComponentUuid
-
getUuid
-
setUuid
-
getDescription
-
setDescription
-
getProps
-
setProps
-
addProp
Add a newProperty
item to the underlying collection.- Parameters:
item
- the item to add- Returns:
true
-
removeProp
Remove the first matchingProperty
item from the underlying collection.- Parameters:
item
- the item to remove- Returns:
true
if the item was removed orfalse
otherwise
-
getLinks
-
setLinks
-
addLink
Add a newLink
item to the underlying collection.- Parameters:
item
- the item to add- Returns:
true
-
removeLink
Remove the first matchingLink
item from the underlying collection.- Parameters:
item
- the item to remove- Returns:
true
if the item was removed orfalse
otherwise
-
getSetParameters
-
setSetParameters
-
addSetParameter
Add a newSetParameter
item to the underlying collection.- Parameters:
item
- the item to add- Returns:
true
-
removeSetParameter
Remove the first matchingSetParameter
item from the underlying collection.- Parameters:
item
- the item to remove- Returns:
true
if the item was removed orfalse
otherwise
-
getImplementationStatus
-
setImplementationStatus
-
getExport
-
setExport
-
getInherited
-
setInherited
-
addInherited
Add a newByComponent.Inherited
item to the underlying collection.- Parameters:
item
- the item to add- Returns:
true
-
removeInherited
Remove the first matchingByComponent.Inherited
item from the underlying collection.- Parameters:
item
- the item to remove- Returns:
true
if the item was removed orfalse
otherwise
-
getSatisfied
-
setSatisfied
-
addSatisfied
Add a newByComponent.Satisfied
item to the underlying collection.- Parameters:
item
- the item to add- Returns:
true
-
removeSatisfied
Remove the first matchingByComponent.Satisfied
item from the underlying collection.- Parameters:
item
- the item to remove- Returns:
true
if the item was removed orfalse
otherwise
-
getResponsibleRoles
-
setResponsibleRoles
-
addResponsibleRole
Add a newResponsibleRole
item to the underlying collection.- Parameters:
item
- the item to add- Returns:
true
-
removeResponsibleRole
Remove the first matchingResponsibleRole
item from the underlying collection.- Parameters:
item
- the item to remove- Returns:
true
if the item was removed orfalse
otherwise
-
getRemarks
-
setRemarks
-
toString
-