Package gov.nist.secauto.oscal.lib.model
Class AssessmentPart
- java.lang.Object
-
- gov.nist.secauto.oscal.lib.model.AssessmentPart
-
@MetaschemaAssembly(formalName="Assessment Part", description="A partition of an assessment plan or results or a child of another part.", name="assessment-part", metaschema=OscalAssessmentCommonMetaschema.class, remarks="A `part` provides for logical partitioning of prose, and can be thought of as a grouping structure (e.g., section). A `part` can have child parts allowing for arbitrary nesting of prose content (e.g., statement hierarchy). A `part` can contain `prop` objects that allow for enriching prose text with structured name/value information.\n\nA `part` can be assigned an optional `id`, which allows for internal and external references to the textual concept contained within a `part`. A `id` provides a means for an OSCAL profile, or a higher layer OSCAL model to reference a specific part within a `catalog`. For example, an `id` can be used to reference or to make modifications to a control statement in a profile.\n\nUse of `part` and `prop` provides for a wide degree of extensibility within the OSCAL catalog model. The optional `ns` provides a means to qualify a part\'s `name`, allowing for organization-specific vocabularies to be defined with clear semantics. Any organization that extends OSCAL in this way should consistently assign a `ns` value that represents the organization, making a given namespace qualified `name` unique to that organization. This allows the combination of `ns` and `name` to always be unique and unambiguous, even when mixed with extensions from other organizations. Each organization is responsible for governance of their own extensions, and is strongly encouraged to publish their extensions as standards to their user community. If no `ns` is provided, the name is expected to be in the \"OSCAL\" namespace.\n\nTo ensure a `ns` is unique to an organization and naming conflicts are avoided, a URI containing a DNS or other globally defined organization name should be used. For example, if FedRAMP and DoD both extend OSCAL, FedRAMP will use the `ns` `http://fedramp.gov/ns/oscal`, while DoD might use the `ns` `https://defense.gov` for any organization specific `name`.\n\nTools that process OSCAL content are not required to interpret unrecognized OSCAL extensions; however, OSCAL compliant tools should not modify or remove unrecognized extensions, unless there is a compelling reason to do so, such as data sensitivity.") @AllowedValues(level=ERROR,target=".[@name=\'objective\']/prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\')]/@name",values=@AllowedValue(value="method",description="The assessment method to use. This typically appears on parts with the name \"objective\".")) @AllowedValues(level=ERROR,target=".[@name=\'objective\']/prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\') and @name=\'method\']/@value",values={@AllowedValue(value="INTERVIEW",description="The process of holding discussions with individuals or groups of individuals within an organization to once again, facilitate assessor understanding, achieve clarification, or obtain evidence."),@AllowedValue(value="EXAMINE",description="The process of reviewing, inspecting, observing, studying, or analyzing one or more assessment objects (i.e., specifications, mechanisms, or activities)."),@AllowedValue(value="TEST",description="The process of exercising one or more assessment objects (i.e., activities or mechanisms) under specified conditions to compare actual with expected behavior.")}) @AssemblyConstraints(hasCardinality=@HasCardinality(level=ERROR,target=".[@name=\'objective\']/prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\') and @name=\'method\']",minOccurs=1)) public class AssessmentPart extends Object
A partition of an assessment plan or results or a child of another part.
-
-
Constructor Summary
Constructors Constructor Description AssessmentPart()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
addLink(Link item)
Add a newLink
item to the underlying collection.boolean
addPart(AssessmentPart item)
Add a newAssessmentPart
item to the underlying collection.boolean
addProp(Property item)
Add a newProperty
item to the underlying collection.String
getClazz()
List<Link>
getLinks()
String
getName()
URI
getNs()
List<AssessmentPart>
getParts()
List<Property>
getProps()
gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultiline
getProse()
gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupLine
getTitle()
UUID
getUuid()
boolean
removeLink(Link item)
Remove the first matchingLink
item from the underlying collection.boolean
removePart(AssessmentPart item)
Remove the first matchingAssessmentPart
item from the underlying collection.boolean
removeProp(Property item)
Remove the first matchingProperty
item from the underlying collection.void
setClazz(String value)
void
setLinks(List<Link> value)
void
setName(String value)
void
setNs(URI value)
void
setParts(List<AssessmentPart> value)
void
setProps(List<Property> value)
void
setProse(gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultiline value)
void
setTitle(gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupLine value)
void
setUuid(UUID value)
String
toString()
-
-
-
Constructor Detail
-
AssessmentPart
public AssessmentPart()
-
-
Method Detail
-
getTitle
public gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupLine getTitle()
-
setTitle
public void setTitle(gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupLine value)
-
addProp
public boolean addProp(Property item)
Add a newProperty
item to the underlying collection.- Parameters:
item
- the item to add- Returns:
true
-
removeProp
public boolean removeProp(Property item)
Remove the first matchingProperty
item from the underlying collection.- Parameters:
item
- the item to remove- Returns:
true
if the item was removed orfalse
otherwise
-
getProse
public gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultiline getProse()
-
setProse
public void setProse(gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultiline value)
-
getParts
public List<AssessmentPart> getParts()
-
setParts
public void setParts(List<AssessmentPart> value)
-
addPart
public boolean addPart(AssessmentPart item)
Add a newAssessmentPart
item to the underlying collection.- Parameters:
item
- the item to add- Returns:
true
-
removePart
public boolean removePart(AssessmentPart item)
Remove the first matchingAssessmentPart
item from the underlying collection.- Parameters:
item
- the item to remove- Returns:
true
if the item was removed orfalse
otherwise
-
addLink
public boolean addLink(Link item)
Add a newLink
item to the underlying collection.- Parameters:
item
- the item to add- Returns:
true
-
removeLink
public boolean removeLink(Link item)
Remove the first matchingLink
item from the underlying collection.- Parameters:
item
- the item to remove- Returns:
true
if the item was removed orfalse
otherwise
-
-