Class Parameter

  • All Implemented Interfaces:
    IParameter

    @MetaschemaAssembly(formalName="Parameter",
                        description="Parameters provide a mechanism for the dynamic assignment of value(s) in a control.",
                        name="parameter",
                        metaschema=OscalControlCommonMetaschema.class,
                        remarks="In a catalog, a parameter is typically used as a placeholder for the future assignment of a parameter value, although the OSCAL model allows for the direct assignment of a value if desired by the control author. The `value` may be optionally used to specify one or more values. If no value is provided, then it is expected that the value will be provided at the Profile or Implementation layer.\n\nA parameter can include a variety of metadata options that support the future solicitation of one or more values. A `label` provides a textual placeholder that can be used in a tool to solicit parameter value input, or to display in catalog documentation. The `desc` provides a short description of what the parameter is used for, which can be used in tooling to help a user understand how to use the parameter. A `constraint` can be used to provide criteria for the allowed values. A `guideline` provides a recommendation for the use of a parameter.")
    @ValueConstraints(allowedValues={@AllowedValues(level=ERROR,target="prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\')]/@name",values={@AllowedValue(value="label",description="A human-readable label for the parent context, which may be rendered in place of the actual identifier for some use cases."),@AllowedValue(value="sort-id",description="An alternative identifier, whose value is easily sortable among other such values in the document."),@AllowedValue(value="alt-identifier",description="An alternate or aliased identifier for the parent context."),@AllowedValue(value="alt-label",description="An alternate to the value provided by the parameter\'s label. This will typically be qualified by a class.")}),@AllowedValues(level=ERROR,target="prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/rmf\')]/@name",values=@AllowedValue(value="aggregates",description="The parent parameter provides an aggregation of two or more other parameters, each described by this property."))},expect=@Expect(level=ERROR,test="not(exists(@depends-on))",message="depends-on is deprecated"))
    public class Parameter
    extends AbstractParameter
    Parameters provide a mechanism for the dynamic assignment of value(s) in a control.