Package gov.nist.secauto.oscal.lib.model
Class SystemCharacteristics
- java.lang.Object
-
- gov.nist.secauto.oscal.lib.model.SystemCharacteristics
-
@MetaschemaAssembly(formalName="System Characteristics", description="Contains the characteristics of the system, such as its name, purpose, and security impact level.", name="system-characteristics", metaschema=OscalSspMetaschema.class) @AllowedValues(level=ERROR,target="prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\')]/@name",values={@AllowedValue(value="identity-assurance-level",description="A value of 1, 2, or 3 as defined by [SP 800-63-3](https://doi.org/10.6028/NIST.SP.800-63-3)."),@AllowedValue(value="authenticator-assurance-level",description="A value of 1, 2, or 3 as defined by [SP 800-63-3](https://doi.org/10.6028/NIST.SP.800-63-3)."),@AllowedValue(value="federation-assurance-level",description="A value of 1, 2, or 3 as defined by [SP 800-63-3](https://doi.org/10.6028/NIST.SP.800-63-3).")}) @AllowedValues(level=ERROR,target="prop[@name=(\'identity-assurance-level\',\'authenticator-assurance-level\',\'federation-assurance-level\')]/@value",values={@AllowedValue(value="1",description="As defined by [SP 800-63-3](https://doi.org/10.6028/NIST.SP.800-63-3)."),@AllowedValue(value="2",description="As defined by [SP 800-63-3](https://doi.org/10.6028/NIST.SP.800-63-3)."),@AllowedValue(value="3",description="As defined by [SP 800-63-3](https://doi.org/10.6028/NIST.SP.800-63-3).")}) @AllowedValues(level=ERROR,target="prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\')]/@name",values={@AllowedValue(value="cloud-deployment-model",description="The associated value is one of: public-cloud, private-cloud, community-cloud, government-only-cloud, hybrid-cloud, or other."),@AllowedValue(value="cloud-service-model",description="The associated value is one of: saas, paas, iaas, or other.")}) @AllowedValues(level=ERROR,target="prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\') and @name=\'cloud-deployment-model\']/@value",values={@AllowedValue(value="public-cloud",description="The public cloud deployment model as defined by [The NIST Definition of Cloud Computing](https://doi.org/10.6028/NIST.SP.800-145)."),@AllowedValue(value="private-cloud",description="The private cloud deployment model as defined by [The NIST Definition of Cloud Computing](https://doi.org/10.6028/NIST.SP.800-145)."),@AllowedValue(value="community-cloud",description="The community cloud deployment model as defined by [The NIST Definition of Cloud Computing](https://doi.org/10.6028/NIST.SP.800-145)."),@AllowedValue(value="hybrid-cloud",description="The hybrid cloud deployment model as defined by [The NIST Definition of Cloud Computing](https://doi.org/10.6028/NIST.SP.800-145)."),@AllowedValue(value="government-only-cloud",description="A specific type of community-cloud for use only by government services."),@AllowedValue(value="other",description="Any other type of cloud deployment model that is exclusive to the other choices.")},remarks="The hybrid cloud deployment model, as defined by [The NIST Definition of Cloud Computing](https://doi.org/10.6028/NIST.SP.800-145), can be supported by selecting two or more of the existing deployment models.") @AllowedValues(level=ERROR,target="prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\') and @name=\'cloud-service-model\']/@value",values={@AllowedValue(value="saas",description="Software as a service (SaaS) cloud service model as defined by [The NIST Definition of Cloud Computing](https://doi.org/10.6028/NIST.SP.800-145)."),@AllowedValue(value="paas",description="Platform as a service (PaaS) cloud service model as defined by [The NIST Definition of Cloud Computing](https://doi.org/10.6028/NIST.SP.800-145)."),@AllowedValue(value="iaas",description="Infrastructure as a service (IaaS) cloud service model as defined by [The NIST Definition of Cloud Computing](https://doi.org/10.6028/NIST.SP.800-145)."),@AllowedValue(value="other",description="Any other type of cloud service model that is exclusive to the other choices.")}) @AllowedValues(level=ERROR,target="responsible-party/@role-id",allowOthers=true,values={@AllowedValue(value="authorizing-official",description="The authorizing official for this system."),@AllowedValue(value="authorizing-official-poc",description="The authorizing official\'s designated point of contact (POC) for this system."),@AllowedValue(value="system-owner",description="The executive ultimately accountable for the system."),@AllowedValue(value="system-poc-management",description="The primary management-level point of contact (POC) for the system."),@AllowedValue(value="system-poc-technical",description="The primary technical point of contact (POC) for the system."),@AllowedValue(value="system-poc-other",description="Other point of contact (POC) for the system that is not the management or technical POC."),@AllowedValue(value="information-system-security-officer",description="The primary role responsible for ensuring the organization operates the system securely."),@AllowedValue(value="privacy-poc",description="The point of contact (POC) responsible for identifying privacy information within the system, and ensuring its protection if present.")}) @AssemblyConstraints(isUnique=@IsUnique(id="unique-ssp-system-characteristics-responsible-party",level=ERROR,target="responsible-party",keyFields=@KeyField(target="@role-id"),remarks="Since `responsible-party` associates multiple `party-uuid` entries with a single `role-id`, each role-id must be referenced only once.")) public class SystemCharacteristics extends ObjectContains the characteristics of the system, such as its name, purpose, and security impact level.
-
-
Constructor Summary
Constructors Constructor Description SystemCharacteristics()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanaddLink(Link item)Add a newLinkitem to the underlying collection.booleanaddProp(Property item)Add a newPropertyitem to the underlying collection.booleanaddResponsibleParty(ResponsibleParty item)Add a newResponsiblePartyitem to the underlying collection.booleanaddSystemId(SystemId item)Add a newSystemIditem to the underlying collection.AuthorizationBoundarygetAuthorizationBoundary()DataFlowgetDataFlow()gov.nist.secauto.metaschema.model.common.datatype.object.DategetDateAuthorized()gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultilinegetDescription()List<Link>getLinks()NetworkArchitecturegetNetworkArchitecture()List<Property>getProps()gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultilinegetRemarks()List<ResponsibleParty>getResponsibleParties()SecurityImpactLevelgetSecurityImpactLevel()StringgetSecuritySensitivityLevel()StatusgetStatus()List<SystemId>getSystemIds()SystemInformationgetSystemInformation()StringgetSystemName()StringgetSystemNameShort()booleanremoveLink(Link item)Remove the first matchingLinkitem from the underlying collection.booleanremoveProp(Property item)Remove the first matchingPropertyitem from the underlying collection.booleanremoveResponsibleParty(ResponsibleParty item)Remove the first matchingResponsiblePartyitem from the underlying collection.booleanremoveSystemId(SystemId item)Remove the first matchingSystemIditem from the underlying collection.voidsetAuthorizationBoundary(AuthorizationBoundary value)voidsetDataFlow(DataFlow value)voidsetDateAuthorized(gov.nist.secauto.metaschema.model.common.datatype.object.Date value)voidsetDescription(gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultiline value)voidsetLinks(List<Link> value)voidsetNetworkArchitecture(NetworkArchitecture value)voidsetProps(List<Property> value)voidsetRemarks(gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultiline value)voidsetResponsibleParties(List<ResponsibleParty> value)voidsetSecurityImpactLevel(SecurityImpactLevel value)voidsetSecuritySensitivityLevel(String value)voidsetStatus(Status value)voidsetSystemIds(List<SystemId> value)voidsetSystemInformation(SystemInformation value)voidsetSystemName(String value)voidsetSystemNameShort(String value)StringtoString()
-
-
-
Constructor Detail
-
SystemCharacteristics
public SystemCharacteristics()
-
-
Method Detail
-
getSystemIds
public List<SystemId> getSystemIds()
-
setSystemIds
public void setSystemIds(List<SystemId> value)
-
addSystemId
public boolean addSystemId(SystemId item)
Add a newSystemIditem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeSystemId
public boolean removeSystemId(SystemId item)
Remove the first matchingSystemIditem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
getSystemName
public String getSystemName()
-
setSystemName
public void setSystemName(String value)
-
getSystemNameShort
public String getSystemNameShort()
-
setSystemNameShort
public void setSystemNameShort(String value)
-
getDescription
public gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultiline getDescription()
-
setDescription
public void setDescription(gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultiline value)
-
addProp
public boolean addProp(Property item)
Add a newPropertyitem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeProp
public boolean removeProp(Property item)
Remove the first matchingPropertyitem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
addLink
public boolean addLink(Link item)
Add a newLinkitem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeLink
public boolean removeLink(Link item)
Remove the first matchingLinkitem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
getDateAuthorized
public gov.nist.secauto.metaschema.model.common.datatype.object.Date getDateAuthorized()
-
setDateAuthorized
public void setDateAuthorized(gov.nist.secauto.metaschema.model.common.datatype.object.Date value)
-
getSecuritySensitivityLevel
public String getSecuritySensitivityLevel()
-
setSecuritySensitivityLevel
public void setSecuritySensitivityLevel(String value)
-
getSystemInformation
public SystemInformation getSystemInformation()
-
setSystemInformation
public void setSystemInformation(SystemInformation value)
-
getSecurityImpactLevel
public SecurityImpactLevel getSecurityImpactLevel()
-
setSecurityImpactLevel
public void setSecurityImpactLevel(SecurityImpactLevel value)
-
getAuthorizationBoundary
public AuthorizationBoundary getAuthorizationBoundary()
-
setAuthorizationBoundary
public void setAuthorizationBoundary(AuthorizationBoundary value)
-
getNetworkArchitecture
public NetworkArchitecture getNetworkArchitecture()
-
setNetworkArchitecture
public void setNetworkArchitecture(NetworkArchitecture value)
-
getDataFlow
public DataFlow getDataFlow()
-
setDataFlow
public void setDataFlow(DataFlow value)
-
getResponsibleParties
public List<ResponsibleParty> getResponsibleParties()
-
setResponsibleParties
public void setResponsibleParties(List<ResponsibleParty> value)
-
addResponsibleParty
public boolean addResponsibleParty(ResponsibleParty item)
Add a newResponsiblePartyitem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeResponsibleParty
public boolean removeResponsibleParty(ResponsibleParty item)
Remove the first matchingResponsiblePartyitem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
getRemarks
public gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultiline getRemarks()
-
setRemarks
public void setRemarks(gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultiline value)
-
-