org.apache.cassandra.cql3.statements

## Class PermissionAlteringStatement

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

All Implemented Interfaces:
  CQLStatement

Direct Known Subclasses:
  GrantStatement, RevokeStatement

    public abstract class PermissionAlteringStatement
    extends AuthorizationStatement

### Nested Class Summary

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

`ParsedStatement.Prepared`

### Field Summary

Fields
`protected java.util.Set<Permission>` `permissions`
`protected DataResource` `resource`
`protected java.lang.String` `username`

### Constructor Summary

Constructors
`protected` `PermissionAlteringStatement(java.util.Set<Permission> permissions, IResource resource, java.lang.String username)`

### Method Summary

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, setBoundVariables`

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

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

### Field Detail

#### permissions

    protected final java.util.Set<Permission> permissions

#### resource

    protected DataResource resource

#### username

    protected final java.lang.String username

### Constructor Detail

#### PermissionAlteringStatement

    protected PermissionAlteringStatement(java.util.Set<Permission> permissions,
                               IResource resource,
                               java.lang.String username)

### 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`