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 Object
Contains 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 boolean
addLink(Link item)
Add a newLink
item to the underlying collection.boolean
addProp(Property item)
Add a newProperty
item to the underlying collection.boolean
addResponsibleParty(ResponsibleParty item)
Add a newResponsibleParty
item to the underlying collection.boolean
addSystemId(SystemId item)
Add a newSystemId
item to the underlying collection.AuthorizationBoundary
getAuthorizationBoundary()
DataFlow
getDataFlow()
gov.nist.secauto.metaschema.model.common.datatype.object.Date
getDateAuthorized()
gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultiline
getDescription()
List<Link>
getLinks()
NetworkArchitecture
getNetworkArchitecture()
List<Property>
getProps()
gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultiline
getRemarks()
List<ResponsibleParty>
getResponsibleParties()
SecurityImpactLevel
getSecurityImpactLevel()
String
getSecuritySensitivityLevel()
Status
getStatus()
List<SystemId>
getSystemIds()
SystemInformation
getSystemInformation()
String
getSystemName()
String
getSystemNameShort()
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
removeResponsibleParty(ResponsibleParty item)
Remove the first matchingResponsibleParty
item from the underlying collection.boolean
removeSystemId(SystemId item)
Remove the first matchingSystemId
item from the underlying collection.void
setAuthorizationBoundary(AuthorizationBoundary value)
void
setDataFlow(DataFlow value)
void
setDateAuthorized(gov.nist.secauto.metaschema.model.common.datatype.object.Date value)
void
setDescription(gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultiline value)
void
setLinks(List<Link> value)
void
setNetworkArchitecture(NetworkArchitecture value)
void
setProps(List<Property> value)
void
setRemarks(gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultiline value)
void
setResponsibleParties(List<ResponsibleParty> value)
void
setSecurityImpactLevel(SecurityImpactLevel value)
void
setSecuritySensitivityLevel(String value)
void
setStatus(Status value)
void
setSystemIds(List<SystemId> value)
void
setSystemInformation(SystemInformation value)
void
setSystemName(String value)
void
setSystemNameShort(String value)
String
toString()
-
-
-
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 newSystemId
item to the underlying collection.- Parameters:
item
- the item to add- Returns:
true
-
removeSystemId
public boolean removeSystemId(SystemId item)
Remove the first matchingSystemId
item from the underlying collection.- Parameters:
item
- the item to remove- Returns:
true
if the item was removed orfalse
otherwise
-
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 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
-
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
-
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 newResponsibleParty
item to the underlying collection.- Parameters:
item
- the item to add- Returns:
true
-
removeResponsibleParty
public boolean removeResponsibleParty(ResponsibleParty item)
Remove the first matchingResponsibleParty
item from the underlying collection.- Parameters:
item
- the item to remove- Returns:
true
if the item was removed orfalse
otherwise
-
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)
-
-