Package org.eclipse.emf.spi.cdo

# Schnittstelle CDOOperationAuthorizer

Alle Superschnittstellen:
  `Comparable<org.eclipse.net4j.util.container.ContainerElementList.Prioritized>`, `org.eclipse.net4j.util.container.ContainerElementList.Prioritized`

Alle bekannten Implementierungsklassen:
  `LMOperationAuthorizer`, `ReviewsOperationAuthorizer`

public interface CDOOperationAuthorizer extends org.eclipse.net4j.util.container.ContainerElementList.Prioritized
An operation authorizer for CDO sessions.

Implementations must register a `factory` with the `container` of the `session` that is supposed to authorize `operations`, e.g.:

     <simpleFactory
        productGroup="org.eclipse.emf.cdo.operationAuthorizers"
        type="test"
        productClass="x.y.z.TestOperationAuthorizer"/>

Seit:
  4.28
Autor:
  Eike Stepper

## Feldübersicht

Felder
Modifizierer und Typ
Feld
Beschreibung
`static final Object`
`ABSTAINED`
`static final String`
`DENIED`
`static final Object`
`GRANTED`
`static final String`
`PRODUCT_GROUP`

## Methodenübersicht

Modifizierer und Typ
Methode
Beschreibung
`Object`
`authorizeOperation(CDOSession session, Supplier<org.eclipse.net4j.util.collection.Entity> userInfoSupplier, org.eclipse.net4j.util.security.operations.AuthorizableOperation operation)`
Authorizes the given `operation` in the context of the given `session`.
`default int`
`getPriority()`

### Von Schnittstelle geerbte Methoden org.eclipse.net4j.util.container.ContainerElementList.Prioritized

`compareTo`

## Felddetails

### PRODUCT_GROUP

static final String PRODUCT_GROUP

Siehe auch:
  - Konstantenfeldwerte

### GRANTED

static final Object GRANTED

### DENIED

static final String DENIED

Siehe auch:
  - Konstantenfeldwerte

### ABSTAINED

static final Object ABSTAINED

## Methodendetails

### getPriority

default int getPriority()

Angegeben von:
  `getPriority` in Schnittstelle `org.eclipse.net4j.util.container.ContainerElementList.Prioritized`

### authorizeOperation

Object authorizeOperation(CDOSession session, Supplier<org.eclipse.net4j.util.collection.Entity> userInfoSupplier, org.eclipse.net4j.util.security.operations.AuthorizableOperation operation)
Authorizes the given `operation` in the context of the given `session`.

Gibt zurück:
  One of the following values:
  - The special value `ABSTAINED` (or `null`) to indicate that this authorizer abstained from voting.
  - The special value `GRANTED` to indicate that authorization is granted.
  - Any non-`null` String value to indicate that authorization is vetoed. The String value represents the reason for the veto.
  - An `authorizable operation` to indicate that the repository shall be asked to authorize the returned operation on behalf of the operation that is passed to this method. The returned operation can be identical to the passed operation, have different `parameters` than the passed operation, or an entirely different operation. Care should be taken to ask for repository authorization of operations with complex parameter types, as Object `serialization` is used to send the parameters to the repository. For example, a `CDOID` should be preferred over an entire `CDOObject`.
Siehe auch:
  - `AuthorizableOperation.stripParameters()`