public abstract class org.apache.cassandra.cql3.statements.RoleManagementStatement extends org.apache.cassandra.cql3.statements.AuthenticationStatement
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.apache.cassandra.cql3.statements.RoleManagementStatement
super_class: org.apache.cassandra.cql3.statements.AuthenticationStatement
{
protected final org.apache.cassandra.auth.RoleResource role;
descriptor: Lorg/apache/cassandra/auth/RoleResource;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final org.apache.cassandra.auth.RoleResource grantee;
descriptor: Lorg/apache/cassandra/auth/RoleResource;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
public void <init>(org.apache.cassandra.cql3.RoleName, org.apache.cassandra.cql3.RoleName);
descriptor: (Lorg/apache/cassandra/cql3/RoleName;Lorg/apache/cassandra/cql3/RoleName;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial org.apache.cassandra.cql3.statements.AuthenticationStatement.<init>:()V
1: aload 0
aload 1
invokevirtual org.apache.cassandra.cql3.RoleName.getName:()Ljava/lang/String;
invokestatic org.apache.cassandra.auth.RoleResource.role:(Ljava/lang/String;)Lorg/apache/cassandra/auth/RoleResource;
putfield org.apache.cassandra.cql3.statements.RoleManagementStatement.role:Lorg/apache/cassandra/auth/RoleResource;
2: aload 0
aload 2
invokevirtual org.apache.cassandra.cql3.RoleName.getName:()Ljava/lang/String;
invokestatic org.apache.cassandra.auth.RoleResource.role:(Ljava/lang/String;)Lorg/apache/cassandra/auth/RoleResource;
putfield org.apache.cassandra.cql3.statements.RoleManagementStatement.grantee:Lorg/apache/cassandra/auth/RoleResource;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/cql3/statements/RoleManagementStatement;
0 4 1 name Lorg/apache/cassandra/cql3/RoleName;
0 4 2 grantee Lorg/apache/cassandra/cql3/RoleName;
MethodParameters:
Name Flags
name
grantee
public void checkAccess(org.apache.cassandra.service.ClientState);
descriptor: (Lorg/apache/cassandra/service/ClientState;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getstatic org.apache.cassandra.auth.Permission.AUTHORIZE:Lorg/apache/cassandra/auth/Permission;
aload 0
getfield org.apache.cassandra.cql3.statements.RoleManagementStatement.role:Lorg/apache/cassandra/auth/RoleResource;
invokespecial org.apache.cassandra.cql3.statements.AuthenticationStatement.checkPermission:(Lorg/apache/cassandra/service/ClientState;Lorg/apache/cassandra/auth/Permission;Lorg/apache/cassandra/auth/RoleResource;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/cql3/statements/RoleManagementStatement;
0 2 1 state Lorg/apache/cassandra/service/ClientState;
Exceptions:
throws org.apache.cassandra.exceptions.UnauthorizedException
MethodParameters:
Name Flags
state
public void validate(org.apache.cassandra.service.ClientState);
descriptor: (Lorg/apache/cassandra/service/ClientState;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.apache.cassandra.service.ClientState.ensureNotAnonymous:()V
1: invokestatic org.apache.cassandra.config.DatabaseDescriptor.getRoleManager:()Lorg/apache/cassandra/auth/IRoleManager;
aload 0
getfield org.apache.cassandra.cql3.statements.RoleManagementStatement.role:Lorg/apache/cassandra/auth/RoleResource;
invokeinterface org.apache.cassandra.auth.IRoleManager.isExistingRole:(Lorg/apache/cassandra/auth/RoleResource;)Z
ifne 3
2: new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "%s doesn't exist"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.apache.cassandra.cql3.statements.RoleManagementStatement.role:Lorg/apache/cassandra/auth/RoleResource;
invokevirtual org.apache.cassandra.auth.RoleResource.getRoleName:()Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
invokestatic org.apache.cassandra.config.DatabaseDescriptor.getRoleManager:()Lorg/apache/cassandra/auth/IRoleManager;
aload 0
getfield org.apache.cassandra.cql3.statements.RoleManagementStatement.grantee:Lorg/apache/cassandra/auth/RoleResource;
invokeinterface org.apache.cassandra.auth.IRoleManager.isExistingRole:(Lorg/apache/cassandra/auth/RoleResource;)Z
ifne 5
4: new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "%s doesn't exist"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.apache.cassandra.cql3.statements.RoleManagementStatement.grantee:Lorg/apache/cassandra/auth/RoleResource;
invokevirtual org.apache.cassandra.auth.RoleResource.getRoleName:()Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/cassandra/cql3/statements/RoleManagementStatement;
0 6 1 state Lorg/apache/cassandra/service/ClientState;
Exceptions:
throws org.apache.cassandra.exceptions.RequestValidationException
MethodParameters:
Name Flags
state
}
SourceFile: "RoleManagementStatement.java"