Interface PermissionScheme

All Superinterfaces:
Named, NamedWithDescription, WithId
All Known Implementing Classes:
PermissionSchemeImpl

@PublicApi public interface PermissionScheme extends WithId, NamedWithDescription
Permission scheme is a set of rules that govern permissions for different activities within a project.

Permission scheme consists of a list of PermissionGrants. Each scheme has a unique name and an optional description.

Implementations of this interface are required to be immutable.

  • Method Details

    • getId

      @Nonnull Long getId()
      Returns an id of the permission grant as stored in DB.
      Specified by:
      getId in interface WithId
      Returns:
      the unique id of the entity.
    • getName

      @Nonnull String getName()
      Returns the permission scheme name.
      Specified by:
      getName in interface Named
    • getDescription

      @Nonnull String getDescription()
      Returns an optional description of this scheme. If description is not defined then an empty String will be returned.
      Specified by:
      getDescription in interface NamedWithDescription
      Returns:
      non-null String, may be empty.
    • getPermissions

      @Nonnull Collection<PermissionGrant> getPermissions()
      Returns a collection of permission grants defined in this scheme.