Package gov.nist.secauto.oscal.lib.model
Class SystemImplementation
java.lang.Object
gov.nist.secauto.oscal.lib.model.SystemImplementation
- All Implemented Interfaces:
gov.nist.secauto.metaschema.core.model.IBoundObject
@MetaschemaAssembly(formalName="System Implementation",
description="Provides information as to how the system is implemented.",
name="system-implementation",
moduleClass=OscalSspModule.class,
valueConstraints=@ValueConstraints(allowedValues=@AllowedValues(level=ERROR,target="(component | inventory-item)/prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\') and @name=\'allows-authenticated-scan\']/@value",values={@AllowedValue(value="yes",description="The component allows an authenticated scan."),@AllowedValue(value="no",description="The component does not allow an authenticated scan.")}),indexHasKey={@IndexHasKey(level=ERROR,target="component/prop[@name=\'leveraged-authorization-uuid\']",indexName="index-system-implementation-leveraged-authorization-uuid",keyFields=@KeyField(target="@value")),@IndexHasKey(level=ERROR,target="component/link[@rel=\'depends-on\']",indexName="index-system-implementation-component-uuid",keyFields=@KeyField(target="@href")),@IndexHasKey(level=ERROR,target="component/link[@rel=\'validated-by\']",indexName="index-system-implementation-component-uuid-validation",keyFields=@KeyField(target="@href")),@IndexHasKey(level=ERROR,target="component/link[@rel=\'proof-of-compliance\']",indexName="index-system-implementation-component-uuid-validation",keyFields=@KeyField(target="@href")),@IndexHasKey(level=ERROR,target="component/link[@rel=\'uses-service\']",indexName="index-system-implementation-component-uuid-service",keyFields=@KeyField(target="@href"))}),
modelConstraints=@AssemblyConstraints(index={@Index(level=ERROR,target="leveraged-authorization",name="index-system-implementation-leveraged-authorization-uuid",keyFields=@KeyField(target="@uuid")),@Index(level=ERROR,target="component",name="index-system-implementation-component-uuid",keyFields=@KeyField(target="@uuid")),@Index(level=ERROR,target="component[@type=\'validation\']",name="index-system-implementation-component-uuid-validation",keyFields=@KeyField(target="@uuid")),@Index(level=ERROR,target="component[@type=\'service\']",name="index-system-implementation-component-uuid-service",keyFields=@KeyField(target="@uuid"))},unique=@IsUnique(id="unique-ssp-system-implementation-user",level=ERROR,target="user",keyFields=@KeyField(target="@uuid"),remarks="A given `uuid` must be assigned only once to a user.")))
public class SystemImplementation
extends Object
implements gov.nist.secauto.metaschema.core.model.IBoundObject
Provides information as to how the system is implemented.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classA description of another authorized system from which this system inherits capabilities that satisfy security requirements. -
Constructor Summary
ConstructorsConstructorDescriptionSystemImplementation(gov.nist.secauto.metaschema.core.model.IMetaschemaData data) -
Method Summary
Modifier and TypeMethodDescriptionbooleanaddComponent(SystemComponent item) Add a newSystemComponentitem to the underlying collection.booleanAdd a newInventoryItemitem to the underlying collection.booleanAdd a newSystemImplementation.LeveragedAuthorizationitem to the underlying collection.booleanAdd a newLinkitem to the underlying collection.booleanAdd a newPropertyitem to the underlying collection.booleanaddUser(SystemUser item) Add a newSystemUseritem to the underlying collection.getLinks()gov.nist.secauto.metaschema.core.model.IMetaschemaDatagetProps()gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultilinegetUsers()booleanRemove the first matchingSystemComponentitem from the underlying collection.booleanRemove the first matchingInventoryItemitem from the underlying collection.booleanRemove the first matchingSystemImplementation.LeveragedAuthorizationitem from the underlying collection.booleanremoveLink(Link item) Remove the first matchingLinkitem from the underlying collection.booleanremoveProp(Property item) Remove the first matchingPropertyitem from the underlying collection.booleanremoveUser(SystemUser item) Remove the first matchingSystemUseritem from the underlying collection.voidsetComponents(List<SystemComponent> value) voidsetInventoryItems(List<InventoryItem> value) voidvoidvoidvoidsetRemarks(gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultiline value) voidsetUsers(List<SystemUser> value) toString()
-
Constructor Details
-
SystemImplementation
public SystemImplementation() -
SystemImplementation
-
-
Method Details
-
getMetaschemaData
- Specified by:
getMetaschemaDatain interfacegov.nist.secauto.metaschema.core.model.IBoundObject
-
getProps
-
setProps
-
addProp
Add a newPropertyitem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeProp
Remove the first matchingPropertyitem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
getLinks
-
setLinks
-
addLink
Add a newLinkitem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeLink
Remove the first matchingLinkitem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
getLeveragedAuthorizations
-
setLeveragedAuthorizations
-
addLeveragedAuthorization
Add a newSystemImplementation.LeveragedAuthorizationitem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeLeveragedAuthorization
Remove the first matchingSystemImplementation.LeveragedAuthorizationitem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
getUsers
-
setUsers
-
addUser
Add a newSystemUseritem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeUser
Remove the first matchingSystemUseritem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
getComponents
-
setComponents
-
addComponent
Add a newSystemComponentitem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeComponent
Remove the first matchingSystemComponentitem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
getInventoryItems
-
setInventoryItems
-
addInventoryItem
Add a newInventoryItemitem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeInventoryItem
Remove the first matchingInventoryItemitem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
getRemarks
-
setRemarks
-
toString
-