org.apache.cassandra.cql3.statements

## Class PermissionsManagementStatement

- java.lang.Object
- - org.apache.cassandra.cql3.statements.ParsedStatement
  - - org.apache.cassandra.cql3.statements.AuthorizationStatement
    - - org.apache.cassandra.cql3.statements.PermissionsManagementStatement

All Implemented Interfaces:
  CQLStatement

Direct Known Subclasses:
  GrantPermissionsStatement, RevokePermissionsStatement

    public abstract class PermissionsManagementStatement
    extends AuthorizationStatement

### Nested Class Summary

### Nested classes/interfaces inherited from class org.apache.cassandra.cql3.statements.ParsedStatement

`ParsedStatement.Prepared`

### Field Summary

Fields
`protected RoleResource` `grantee`
`protected java.util.Set<Permission>` `permissions`
`protected IResource` `resource`

### Constructor Summary

Constructors
`protected` `PermissionsManagementStatement(java.util.Set<Permission> permissions, IResource resource, RoleName grantee)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `checkAccess(ClientState state)` Perform any access verification necessary for the statement.
`void` `validate(ClientState state)` Perform additional validation required by the statment.

### Methods inherited from class org.apache.cassandra.cql3.statements.AuthorizationStatement

`execute, execute, executeInternal, getBoundTerms, maybeCorrectResource, prepare`

### Methods inherited from class org.apache.cassandra.cql3.statements.ParsedStatement

`getBoundVariables, getFunctions, setBoundVariables`

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

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

### Methods inherited from interface org.apache.cassandra.cql3.CQLStatement

`getFunctions`

### Field Detail

#### permissions

    protected final java.util.Set<Permission> permissions

#### resource

    protected IResource resource

#### grantee

    protected final RoleResource grantee

### Constructor Detail

#### PermissionsManagementStatement

    protected PermissionsManagementStatement(java.util.Set<Permission> permissions,
                                             IResource resource,
                                             RoleName grantee)

### Method Detail

#### validate

    public void validate(ClientState state)
                  throws RequestValidationException

Description copied from interface: `CQLStatement`
Perform additional validation required by the statment. To be overriden by subclasses if needed.

Parameters:
  `state` - the current client state
Throws:
  `RequestValidationException`

#### checkAccess

    public void checkAccess(ClientState state)
                     throws UnauthorizedException

Description copied from interface: `CQLStatement`
Perform any access verification necessary for the statement.

Parameters:
  `state` - the current client state
Throws:
  `UnauthorizedException`