Class SystemUser

java.lang.Object
dev.metaschema.oscal.lib.model.SystemUser
All Implemented Interfaces:
dev.metaschema.core.model.IBoundObject

@MetaschemaAssembly(formalName="System User", description="A type of user that interacts with the system based on an associated role.", name="system-user", moduleClass=OscalImplementationCommonModule.class, remarks="Permissible values to be determined closer to the application, such as by a receiving authority.", valueConstraints=@AllowedValues(id="oscal-user-prop-name-values",level=ERROR,target="prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\')]/@name",values={@AllowedValue(value="type",description="The type of user, such as internal, external, or general-public."),@AllowedValue(value="privilege-level",description="The user\'s privilege level within the system, such as privileged, non-privileged, no-logical-access.")}) @AllowedValues(id="oscal-user-prop-type-values",level=ERROR,target="prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\') and @name=\'type\']/@value",values={@AllowedValue(value="internal",description="A user account for a person or entity that is part of the organization who owns or operates the system."),@AllowedValue(value="external",description="A user account for a person or entity that is not part of the organization who owns or operates the system."),@AllowedValue(value="general-public",description="A user of the system considered to be outside")}) @AllowedValues(id="oscal-user-prop-privilege-level-values",level=ERROR,target="prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\') and @name=\'privilege-level\']/@value",values={@AllowedValue(value="privileged",description="This role has elevated access to the system, such as a group or system administrator."),@AllowedValue(value="non-privileged",description="This role has typical user-level access to the system without elevated access."),@AllowedValue(value="no-logical-access",description="This role has no access to the system, such as a manager who approves access as part of a process.")}) @AllowedValues(id="oscal-user-role-id-values",level=ERROR,target="role-id",allowOthers=true,values={@AllowedValue(value="asset-owner",description="Accountable for ensuring the asset is managed in accordance with organizational policies and procedures."),@AllowedValue(value="asset-administrator",description="Responsible for administering a set of assets."),@AllowedValue(value="security-operations",description="Members of the security operations center (SOC)."),@AllowedValue(value="network-operations",description="Members of the network operations center (NOC)."),@AllowedValue(value="incident-response",description="Responsible for responding to an event that could lead to loss of, or disruption to, an organization\'s operations, services or functions."),@AllowedValue(value="help-desk",description="Responsible for providing information and support to users."),@AllowedValue(value="configuration-management",description="Responsible for the configuration management processes governing changes to the asset.")})) public class SystemUser extends Object implements dev.metaschema.core.model.IBoundObject
A type of user that interacts with the system based on an associated role.
  • Constructor Details

    • SystemUser

      public SystemUser()
      Constructs a new dev.metaschema.oscal.lib.model.SystemUser instance with no metadata.
    • SystemUser

      public SystemUser(dev.metaschema.core.model.IMetaschemaData data)
      Constructs a new dev.metaschema.oscal.lib.model.SystemUser instance with the specified metadata.
      Parameters:
      data - the metaschema data, or null if none
  • Method Details

    • getMetaschemaData

      public dev.metaschema.core.model.IMetaschemaData getMetaschemaData()
      Specified by:
      getMetaschemaData in interface dev.metaschema.core.model.IBoundObject
    • getUuid

      @NonNull public UUID getUuid()
      Get the "User Universally Unique Identifier".

      A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

      Returns:
      the uuid value
    • setUuid

      public void setUuid(@NonNull UUID value)
      Set the "User Universally Unique Identifier".

      A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

      Parameters:
      value - the uuid value to set
    • getTitle

      @Nullable public dev.metaschema.core.datatype.markup.MarkupLine getTitle()
      Get the "User Title".

      A name given to the user, which may be used by a tool for display and navigation.

      Returns:
      the title value, or null if not set
    • setTitle

      public void setTitle(@Nullable dev.metaschema.core.datatype.markup.MarkupLine value)
      Set the "User Title".

      A name given to the user, which may be used by a tool for display and navigation.

      Parameters:
      value - the title value to set, or null to clear
    • getShortName

      @Nullable public String getShortName()
      Get the "User Short Name".

      A short common name, abbreviation, or acronym for the user.

      Returns:
      the short-name value, or null if not set
    • setShortName

      public void setShortName(@Nullable String value)
      Set the "User Short Name".

      A short common name, abbreviation, or acronym for the user.

      Parameters:
      value - the short-name value to set, or null to clear
    • getDescription

      @Nullable public dev.metaschema.core.datatype.markup.MarkupMultiline getDescription()
      Get the "User Description".

      A summary of the user's purpose within the system.

      Returns:
      the description value, or null if not set
    • setDescription

      public void setDescription(@Nullable dev.metaschema.core.datatype.markup.MarkupMultiline value)
      Set the "User Description".

      A summary of the user's purpose within the system.

      Parameters:
      value - the description value to set, or null to clear
    • getProps

      @NonNull public List<Property> getProps()
      Get the "Property".

      An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair.

      Returns:
      the prop value
    • setProps

      public void setProps(@NonNull List<Property> value)
      Set the "Property".

      An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair.

      Parameters:
      value - the prop value to set
    • addProp

      public boolean addProp(Property item)
      Add a new Property item to the underlying collection.
      Parameters:
      item - the item to add
      Returns:
      true
    • removeProp

      public boolean removeProp(Property item)
      Remove the first matching Property item from the underlying collection.
      Parameters:
      item - the item to remove
      Returns:
      true if the item was removed or false otherwise
    • getLinks

      @NonNull public List<Link> getLinks()
      Get the "Link".

      A reference to a local or remote resource, that has a specific relation to the containing object.

      Returns:
      the link value
    • setLinks

      public void setLinks(@NonNull List<Link> value)
      Set the "Link".

      A reference to a local or remote resource, that has a specific relation to the containing object.

      Parameters:
      value - the link value to set
    • addLink

      public boolean addLink(Link item)
      Add a new Link item to the underlying collection.
      Parameters:
      item - the item to add
      Returns:
      true
    • removeLink

      public boolean removeLink(Link item)
      Remove the first matching Link item from the underlying collection.
      Parameters:
      item - the item to remove
      Returns:
      true if the item was removed or false otherwise
    • getRoleIds

      @NonNull public List<String> getRoleIds()
      Get the "Role Identifier Reference".

      Reference to a role by UUID.

      Returns:
      the role-id value
    • setRoleIds

      public void setRoleIds(@NonNull List<String> value)
      Set the "Role Identifier Reference".

      Reference to a role by UUID.

      Parameters:
      value - the role-id value to set
    • addRoleId

      public boolean addRoleId(String item)
      Add a new String item to the underlying collection.
      Parameters:
      item - the item to add
      Returns:
      true
    • removeRoleId

      public boolean removeRoleId(String item)
      Remove the first matching String item from the underlying collection.
      Parameters:
      item - the item to remove
      Returns:
      true if the item was removed or false otherwise
    • getAuthorizedPrivileges

      Get the "Privilege".

      Identifies a specific system privilege held by the user, along with an associated description and/or rationale for the privilege.

      Returns:
      the authorized-privilege value
    • setAuthorizedPrivileges

      public void setAuthorizedPrivileges(@NonNull List<AuthorizedPrivilege> value)
      Set the "Privilege".

      Identifies a specific system privilege held by the user, along with an associated description and/or rationale for the privilege.

      Parameters:
      value - the authorized-privilege value to set
    • addAuthorizedPrivilege

      Add a new AuthorizedPrivilege item to the underlying collection.
      Parameters:
      item - the item to add
      Returns:
      true
    • removeAuthorizedPrivilege

      Remove the first matching AuthorizedPrivilege item from the underlying collection.
      Parameters:
      item - the item to remove
      Returns:
      true if the item was removed or false otherwise
    • getRemarks

      @Nullable public dev.metaschema.core.datatype.markup.MarkupMultiline getRemarks()
      Get the "Remarks".

      Additional commentary about the containing object.

      Returns:
      the remarks value, or null if not set
    • setRemarks

      public void setRemarks(@Nullable dev.metaschema.core.datatype.markup.MarkupMultiline value)
      Set the "Remarks".

      Additional commentary about the containing object.

      Parameters:
      value - the remarks value to set, or null to clear
    • toString

      public String toString()
      Overrides:
      toString in class Object