Package org.eclipse.emf.cdo.security

## Interface Permission

- All Superinterfaces:
    `CDOObject`, `CDOWithID`, `EObject`, `Notifier`
  All Known Subinterfaces:
    `ClassPermission`, `FilterPermission`, `ObjectPermission`, `PackagePermission`, `ResourcePermission`
  All Known Implementing Classes:
    `ClassPermissionImpl`, `FilterPermissionImpl`, `ObjectPermissionImpl`, `PackagePermissionImpl`, `PermissionImpl`, `ResourcePermissionImpl`

      public interface Permission
      extends CDOObject

  A representation of the model object 'Permission'.

  The following features are supported:

  - `Role`
  - `Access`
  See Also:
    `SecurityPackage.getPermission()`
  Generated
  Extends
    CDOObject
  Model
    abstract="true"

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Access` | `getAccess()` | Returns the value of the 'Access' attribute.
    `Role` | `getRole()` | Returns the value of the 'Role' container reference.
    `boolean` | `isApplicable​(CDORevision revision, CDORevisionProvider revisionProvider, CDOBranchPoint securityContext)` |
    `void` | `setAccess​(Access value)` | Sets the value of the '`Access`' attribute.
    `void` | `setRole​(Role value)` | Sets the value of the '`Role`' container reference.

    - ### Methods inherited from interface org.eclipse.emf.cdo.CDOObject

      `cdoConflict, cdoDirectResource, cdoHistory, cdoID, cdoInvalid, cdoLockState, cdoPermission, cdoPrefetch, cdoReadLock, cdoReload, cdoResource, cdoRevision, cdoRevision, cdoState, cdoView, cdoWriteLock, cdoWriteOption`

    - ### Methods inherited from interface org.eclipse.emf.ecore.EObject

      `eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset`

    - ### Methods inherited from interface org.eclipse.emf.common.notify.Notifier

      `eAdapters, eDeliver, eNotify, eSetDeliver`

- - ### Method Detail

    - #### getRole

          Role getRole()

      Returns the value of the 'Role' container reference. It is bidirectional and its opposite is '`Permissions`'.

      If the meaning of the 'Role' container reference isn't clear, there really should be more of a description here...

      Returns:
        the value of the 'Role' container reference.
      See Also:
        `setRole(Role)`, `SecurityPackage.getPermission_Role()`, `Role.getPermissions()`
      Generated
      Model
        opposite="permissions" required="true" transient="false"

    - #### setRole

          void setRole​(Role value)

      Sets the value of the '`Role`' container reference.
      Parameters:
        `value` - the new value of the 'Role' container reference.
      See Also:
        `getRole()`
      Generated

    - #### getAccess

          Access getAccess()

      Returns the value of the 'Access' attribute. The default value is `"WRITE"`. The literals are from the enumeration `Access`.

      If the meaning of the 'Access' attribute isn't clear, there really should be more of a description here...

      Returns:
        the value of the 'Access' attribute.
      See Also:
        `Access`, `setAccess(Access)`, `SecurityPackage.getPermission_Access()`
      Generated
      Model
        default="WRITE" required="true"

    - #### setAccess

          void setAccess​(Access value)

      Sets the value of the '`Access`' attribute.
      Parameters:
        `value` - the new value of the 'Access' attribute.
      See Also:
        `Access`, `getAccess()`
      Generated

    - #### isApplicable

          boolean isApplicable​(CDORevision revision,
                               CDORevisionProvider revisionProvider,
                               CDOBranchPoint securityContext)