Class ByComponent


  • @MetaschemaAssembly(formalName="Component Control Implementation",
                        description="Defines how the referenced component implements a set of controls.",
                        name="by-component",
                        metaschema=OscalSspMetaschema.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(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="#(.*)")))
    @AssemblyConstraints(isUnique=@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
    Defines how the referenced component implements a set of controls.