Package com.sas.lsaf.security.privilege

## Class ScopedPrivileges

- java.lang.Object
- - com.sas.lsaf.security.privilege.ScopedPrivileges

-     public abstract class ScopedPrivileges
      extends java.lang.Object

  A constants class which provides a comprehensive list of scoped privileges used within the system.

  Scoped privileges are privileges that can be assigned to roles at specific contexts within the repository hierarchy. Scoped privileges cannot be assigned to users directly through the `GlobalPrivilegeService`. They must be assigned to roles at role contexts and then users and groups (who are active members of the role context) can be assigned to the role. The assignees then have the capabilities afforded the privilege within the scoped context they were granted.

  Since:
    1.7
  See Also:
    `ScopedPrivilegeService.getAvailablePrivileges()`, `RoleService.createRole(String, String, String, Set, Set)`, `RoleService.updateRole(com.sas.lsaf.security.role.Role)`

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static java.util.Set<java.lang.String>` | `ALL_SCOPED_PRIVILEGE_IDS` | The complete set of scoped privilege identifiers within the system.
    `static java.util.Set<ScopedPrivilege>` | `ALL_SCOPED_PRIVILEGES` | The complete set of scoped privileges within the system.
    `static ScopedPrivilege` | `PRIVILEGE_ACL_PROPAGATION` | A scoped privilege enables a user to cascade permission changes.
    `static ScopedPrivilege` | `PRIVILEGE_CREATE_PROCESS_FLOWS` | A scoped privilege enables a user to create process flows within the repository.
    `static ScopedPrivilege` | `PRIVILEGE_ENABLE_VERSIONING` | A scoped privilege enables a user to enable versioning on unversioned files.
    `static ScopedPrivilege` | `PRIVILEGE_MANAGE_LOCKS` | A scoped privilege enables a user to create and manage locks on files.
    `static ScopedPrivilege` | `PRIVILEGE_MANAGE_MEMBERSHIP` | A scoped privilege enables a user to manage the memberships of the organization, projects and analyses.
    `static ScopedPrivilege` | `PRIVILEGE_MANAGE_PROCESS_FLOWS` | A scoped privilege enables a user to manage process flows owned by other users.
    `static ScopedPrivilege` | `PRIVILEGE_MANAGE_ROLES` | A scoped privilege enables a user to manage role definitions, role assignments and role memberships for the organization, projects and analyses.
    `static ScopedPrivilege` | `PRIVILEGE_MANAGE_SHARED_FOLDERS` | Allows users to manage shared folders within the repository.
    `static ScopedPrivilege` | `PRIVILEGE_MANAGE_STATE` | A scoped privilege enables a user to manage the `State` of contexts with the `State` capability.
    `static ScopedPrivilege` | `PRIVILEGE_MANAGE_STUDIES` | A scoped privilege enables a user to manage studies.
    `static ScopedPrivilege` | `PRIVILEGE_MANAGE_VERSIONING` | A scoped privilege enables a user to manage versioning of versioned files.
    `static ScopedPrivilege` | `PRIVILEGE_PERMANENTLY_DELETE` | A scoped privilege enables a user to permanently delete objects that were logically deleted by other users.
    `static ScopedPrivilege` | `PRIVILEGE_PROCESS_FLOW_ADMINISTRATION` | A scoped privilege enables a user to take ownership of process flows owned by other users.
    `static ScopedPrivilege` | `PRIVILEGE_RESTORE` | A scoped privilege enables a user to restore objects that were logically deleted by other users.
    `static ScopedPrivilege` | `PRIVILEGE_SIGN_FILE` | A scoped privilege enables a user to electronically sign files within the repository.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ScopedPrivileges()` |

  - ### Method Summary

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### PRIVILEGE_ACL_PROPAGATION

          public static final ScopedPrivilege PRIVILEGE_ACL_PROPAGATION

      A scoped privilege enables a user to cascade permission changes.

    - #### PRIVILEGE_ENABLE_VERSIONING

          public static final ScopedPrivilege PRIVILEGE_ENABLE_VERSIONING

      A scoped privilege enables a user to enable versioning on unversioned files.

    - #### PRIVILEGE_MANAGE_VERSIONING

          public static final ScopedPrivilege PRIVILEGE_MANAGE_VERSIONING

      A scoped privilege enables a user to manage versioning of versioned files.

    - #### PRIVILEGE_MANAGE_LOCKS

          public static final ScopedPrivilege PRIVILEGE_MANAGE_LOCKS

      A scoped privilege enables a user to create and manage locks on files.

    - #### PRIVILEGE_MANAGE_STATE

          public static final ScopedPrivilege PRIVILEGE_MANAGE_STATE

      A scoped privilege enables a user to manage the `State` of contexts with the `State` capability.

    - #### PRIVILEGE_PERMANENTLY_DELETE

          public static final ScopedPrivilege PRIVILEGE_PERMANENTLY_DELETE

      A scoped privilege enables a user to permanently delete objects that were logically deleted by other users.

    - #### PRIVILEGE_RESTORE

          public static final ScopedPrivilege PRIVILEGE_RESTORE

      A scoped privilege enables a user to restore objects that were logically deleted by other users.

    - #### PRIVILEGE_SIGN_FILE

          public static final ScopedPrivilege PRIVILEGE_SIGN_FILE

      A scoped privilege enables a user to electronically sign files within the repository.

    - #### PRIVILEGE_MANAGE_SHARED_FOLDERS

          public static final ScopedPrivilege PRIVILEGE_MANAGE_SHARED_FOLDERS

      Allows users to manage shared folders within the repository.

    - #### PRIVILEGE_MANAGE_MEMBERSHIP

          public static final ScopedPrivilege PRIVILEGE_MANAGE_MEMBERSHIP

      A scoped privilege enables a user to manage the memberships of the organization, projects and analyses.

    - #### PRIVILEGE_MANAGE_ROLES

          public static final ScopedPrivilege PRIVILEGE_MANAGE_ROLES

      A scoped privilege enables a user to manage role definitions, role assignments and role memberships for the organization, projects and analyses.

    - #### PRIVILEGE_CREATE_PROCESS_FLOWS

          public static final ScopedPrivilege PRIVILEGE_CREATE_PROCESS_FLOWS

      A scoped privilege enables a user to create process flows within the repository.

    - #### PRIVILEGE_MANAGE_PROCESS_FLOWS

          public static final ScopedPrivilege PRIVILEGE_MANAGE_PROCESS_FLOWS

      A scoped privilege enables a user to manage process flows owned by other users.

    - #### PRIVILEGE_PROCESS_FLOW_ADMINISTRATION

          public static final ScopedPrivilege PRIVILEGE_PROCESS_FLOW_ADMINISTRATION

      A scoped privilege enables a user to take ownership of process flows owned by other users.

    - #### PRIVILEGE_MANAGE_STUDIES

          public static final ScopedPrivilege PRIVILEGE_MANAGE_STUDIES

      A scoped privilege enables a user to manage studies.

    - #### ALL_SCOPED_PRIVILEGES

          public static final java.util.Set<ScopedPrivilege> ALL_SCOPED_PRIVILEGES

      The complete set of scoped privileges within the system.

    - #### ALL_SCOPED_PRIVILEGE_IDS

          public static final java.util.Set<java.lang.String> ALL_SCOPED_PRIVILEGE_IDS

      The complete set of scoped privilege identifiers within the system.

  - ### Constructor Detail

    - #### ScopedPrivileges

          public ScopedPrivileges()