public class io.vertx.ext.auth.authorization.impl.PermissionBasedAuthorizationImpl implements io.vertx.ext.auth.authorization.PermissionBasedAuthorization
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.ext.auth.authorization.impl.PermissionBasedAuthorizationImpl
super_class: java.lang.Object
{
private java.lang.String permission;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private io.vertx.ext.auth.authorization.impl.VariableAwareExpression resource;
descriptor: Lio/vertx/ext/auth/authorization/impl/VariableAwareExpression;
flags: (0x0002) ACC_PRIVATE
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
putfield io.vertx.ext.auth.authorization.impl.PermissionBasedAuthorizationImpl.permission:Ljava/lang/String;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/ext/auth/authorization/impl/PermissionBasedAuthorizationImpl;
0 3 1 permission Ljava/lang/String;
MethodParameters:
Name Flags
permission
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof io.vertx.ext.auth.authorization.impl.PermissionBasedAuthorizationImpl
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast io.vertx.ext.auth.authorization.impl.PermissionBasedAuthorizationImpl
astore 2
start local 2 5: aload 0
getfield io.vertx.ext.auth.authorization.impl.PermissionBasedAuthorizationImpl.permission:Ljava/lang/String;
aload 2
getfield io.vertx.ext.auth.authorization.impl.PermissionBasedAuthorizationImpl.permission:Ljava/lang/String;
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 6
aload 0
getfield io.vertx.ext.auth.authorization.impl.PermissionBasedAuthorizationImpl.resource:Lio/vertx/ext/auth/authorization/impl/VariableAwareExpression;
aload 2
getfield io.vertx.ext.auth.authorization.impl.PermissionBasedAuthorizationImpl.resource:Lio/vertx/ext/auth/authorization/impl/VariableAwareExpression;
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 6
iconst_1
ireturn
StackMap locals: io.vertx.ext.auth.authorization.impl.PermissionBasedAuthorizationImpl
StackMap stack:
6: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/vertx/ext/auth/authorization/impl/PermissionBasedAuthorizationImpl;
0 7 1 obj Ljava/lang/Object;
5 7 2 other Lio/vertx/ext/auth/authorization/impl/PermissionBasedAuthorizationImpl;
MethodParameters:
Name Flags
obj
public java.lang.String getPermission();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.auth.authorization.impl.PermissionBasedAuthorizationImpl.permission:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/auth/authorization/impl/PermissionBasedAuthorizationImpl;
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield io.vertx.ext.auth.authorization.impl.PermissionBasedAuthorizationImpl.permission:Ljava/lang/String;
aastore
dup
iconst_1
aload 0
getfield io.vertx.ext.auth.authorization.impl.PermissionBasedAuthorizationImpl.resource:Lio/vertx/ext/auth/authorization/impl/VariableAwareExpression;
aastore
invokestatic java.util.Objects.hash:([Ljava/lang/Object;)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/auth/authorization/impl/PermissionBasedAuthorizationImpl;
public boolean match(io.vertx.ext.auth.authorization.AuthorizationContext);
descriptor: (Lio/vertx/ext/auth/authorization/AuthorizationContext;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 1
invokeinterface io.vertx.ext.auth.authorization.AuthorizationContext.user:()Lio/vertx/ext/auth/User;
astore 2
start local 2 2: aload 2
ifnull 12
3: aload 0
aload 1
invokevirtual io.vertx.ext.auth.authorization.impl.PermissionBasedAuthorizationImpl.getResolvedAuthorization:(Lio/vertx/ext/auth/authorization/AuthorizationContext;)Lio/vertx/ext/auth/authorization/PermissionBasedAuthorization;
astore 3
start local 3 4: aload 2
invokeinterface io.vertx.ext.auth.User.authorizations:()Lio/vertx/ext/auth/authorization/Authorizations;
invokeinterface io.vertx.ext.auth.authorization.Authorizations.getProviderIds:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 11
StackMap locals: io.vertx.ext.auth.authorization.impl.PermissionBasedAuthorizationImpl io.vertx.ext.auth.authorization.AuthorizationContext io.vertx.ext.auth.User io.vertx.ext.auth.authorization.Authorization top java.util.Iterator
StackMap stack:
5: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 6: aload 2
invokeinterface io.vertx.ext.auth.User.authorizations:()Lio/vertx/ext/auth/authorization/Authorizations;
aload 4
invokeinterface io.vertx.ext.auth.authorization.Authorizations.get:(Ljava/lang/String;)Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 10
StackMap locals: io.vertx.ext.auth.authorization.impl.PermissionBasedAuthorizationImpl io.vertx.ext.auth.authorization.AuthorizationContext io.vertx.ext.auth.User io.vertx.ext.auth.authorization.Authorization java.lang.String java.util.Iterator top java.util.Iterator
StackMap stack:
7: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.vertx.ext.auth.authorization.Authorization
astore 6
start local 6 8: aload 6
aload 3
invokeinterface io.vertx.ext.auth.authorization.Authorization.verify:(Lio/vertx/ext/auth/authorization/Authorization;)Z
ifeq 10
9: iconst_1
ireturn
end local 6 10: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
end local 4 11: StackMap locals: io.vertx.ext.auth.authorization.impl.PermissionBasedAuthorizationImpl io.vertx.ext.auth.authorization.AuthorizationContext io.vertx.ext.auth.User io.vertx.ext.auth.authorization.Authorization top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
end local 3 12: StackMap locals: io.vertx.ext.auth.authorization.impl.PermissionBasedAuthorizationImpl io.vertx.ext.auth.authorization.AuthorizationContext io.vertx.ext.auth.User
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lio/vertx/ext/auth/authorization/impl/PermissionBasedAuthorizationImpl;
0 13 1 context Lio/vertx/ext/auth/authorization/AuthorizationContext;
2 13 2 user Lio/vertx/ext/auth/User;
4 12 3 resolvedAuthorization Lio/vertx/ext/auth/authorization/Authorization;
6 11 4 providerId Ljava/lang/String;
8 10 6 authorization Lio/vertx/ext/auth/authorization/Authorization;
MethodParameters:
Name Flags
context
private io.vertx.ext.auth.authorization.PermissionBasedAuthorization getResolvedAuthorization(io.vertx.ext.auth.authorization.AuthorizationContext);
descriptor: (Lio/vertx/ext/auth/authorization/AuthorizationContext;)Lio/vertx/ext/auth/authorization/PermissionBasedAuthorization;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.ext.auth.authorization.impl.PermissionBasedAuthorizationImpl.resource:Lio/vertx/ext/auth/authorization/impl/VariableAwareExpression;
ifnull 1
aload 0
getfield io.vertx.ext.auth.authorization.impl.PermissionBasedAuthorizationImpl.resource:Lio/vertx/ext/auth/authorization/impl/VariableAwareExpression;
invokevirtual io.vertx.ext.auth.authorization.impl.VariableAwareExpression.hasVariable:()Z
ifne 2
1: StackMap locals:
StackMap stack:
aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.auth.authorization.impl.PermissionBasedAuthorizationImpl.permission:Ljava/lang/String;
invokestatic io.vertx.ext.auth.authorization.PermissionBasedAuthorization.create:(Ljava/lang/String;)Lio/vertx/ext/auth/authorization/PermissionBasedAuthorization;
aload 0
getfield io.vertx.ext.auth.authorization.impl.PermissionBasedAuthorizationImpl.resource:Lio/vertx/ext/auth/authorization/impl/VariableAwareExpression;
aload 1
invokevirtual io.vertx.ext.auth.authorization.impl.VariableAwareExpression.resolve:(Lio/vertx/ext/auth/authorization/AuthorizationContext;)Ljava/lang/String;
invokeinterface io.vertx.ext.auth.authorization.PermissionBasedAuthorization.setResource:(Ljava/lang/String;)Lio/vertx/ext/auth/authorization/PermissionBasedAuthorization;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/ext/auth/authorization/impl/PermissionBasedAuthorizationImpl;
0 3 1 context Lio/vertx/ext/auth/authorization/AuthorizationContext;
MethodParameters:
Name Flags
context
public boolean verify(io.vertx.ext.auth.authorization.Authorization);
descriptor: (Lio/vertx/ext/auth/authorization/Authorization;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 1
instanceof io.vertx.ext.auth.authorization.PermissionBasedAuthorization
ifeq 8
2: aload 1
checkcast io.vertx.ext.auth.authorization.PermissionBasedAuthorization
astore 2
start local 2 3: aload 0
getfield io.vertx.ext.auth.authorization.impl.PermissionBasedAuthorizationImpl.permission:Ljava/lang/String;
aload 2
invokeinterface io.vertx.ext.auth.authorization.PermissionBasedAuthorization.getPermission:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
4: aload 0
invokevirtual io.vertx.ext.auth.authorization.impl.PermissionBasedAuthorizationImpl.getResource:()Ljava/lang/String;
ifnonnull 7
5: aload 2
invokeinterface io.vertx.ext.auth.authorization.PermissionBasedAuthorization.getResource:()Ljava/lang/String;
ifnonnull 6
iconst_1
ireturn
StackMap locals: io.vertx.ext.auth.authorization.PermissionBasedAuthorization
StackMap stack:
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.vertx.ext.auth.authorization.impl.PermissionBasedAuthorizationImpl.getResource:()Ljava/lang/String;
aload 2
invokeinterface io.vertx.ext.auth.authorization.PermissionBasedAuthorization.getResource:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
end local 2 8: StackMap locals:
StackMap stack:
aload 1
instanceof io.vertx.ext.auth.authorization.WildcardPermissionBasedAuthorization
ifeq 15
9: aload 1
checkcast io.vertx.ext.auth.authorization.WildcardPermissionBasedAuthorization
astore 2
start local 2 10: aload 0
getfield io.vertx.ext.auth.authorization.impl.PermissionBasedAuthorizationImpl.permission:Ljava/lang/String;
aload 2
invokeinterface io.vertx.ext.auth.authorization.WildcardPermissionBasedAuthorization.getPermission:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
11: aload 0
invokevirtual io.vertx.ext.auth.authorization.impl.PermissionBasedAuthorizationImpl.getResource:()Ljava/lang/String;
ifnonnull 14
12: aload 2
invokeinterface io.vertx.ext.auth.authorization.WildcardPermissionBasedAuthorization.getResource:()Ljava/lang/String;
ifnonnull 13
iconst_1
ireturn
StackMap locals: io.vertx.ext.auth.authorization.WildcardPermissionBasedAuthorization
StackMap stack:
13: iconst_0
ireturn
14: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.vertx.ext.auth.authorization.impl.PermissionBasedAuthorizationImpl.getResource:()Ljava/lang/String;
aload 2
invokeinterface io.vertx.ext.auth.authorization.WildcardPermissionBasedAuthorization.getResource:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
end local 2 15: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lio/vertx/ext/auth/authorization/impl/PermissionBasedAuthorizationImpl;
0 16 1 otherAuthorization Lio/vertx/ext/auth/authorization/Authorization;
3 8 2 otherPermissionBasedAuthorization Lio/vertx/ext/auth/authorization/PermissionBasedAuthorization;
10 15 2 otherWildcardPermissionBasedAuthorization Lio/vertx/ext/auth/authorization/WildcardPermissionBasedAuthorization;
MethodParameters:
Name Flags
otherAuthorization
public java.lang.String getResource();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.auth.authorization.impl.PermissionBasedAuthorizationImpl.resource:Lio/vertx/ext/auth/authorization/impl/VariableAwareExpression;
ifnull 1
aload 0
getfield io.vertx.ext.auth.authorization.impl.PermissionBasedAuthorizationImpl.resource:Lio/vertx/ext/auth/authorization/impl/VariableAwareExpression;
invokevirtual io.vertx.ext.auth.authorization.impl.VariableAwareExpression.getValue:()Ljava/lang/String;
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: java.lang.String
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/ext/auth/authorization/impl/PermissionBasedAuthorizationImpl;
public io.vertx.ext.auth.authorization.PermissionBasedAuthorization setResource(java.lang.String);
descriptor: (Ljava/lang/String;)Lio/vertx/ext/auth/authorization/PermissionBasedAuthorization;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
new io.vertx.ext.auth.authorization.impl.VariableAwareExpression
dup
aload 1
invokespecial io.vertx.ext.auth.authorization.impl.VariableAwareExpression.<init>:(Ljava/lang/String;)V
putfield io.vertx.ext.auth.authorization.impl.PermissionBasedAuthorizationImpl.resource:Lio/vertx/ext/auth/authorization/impl/VariableAwareExpression;
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/ext/auth/authorization/impl/PermissionBasedAuthorizationImpl;
0 3 1 resource Ljava/lang/String;
MethodParameters:
Name Flags
resource
}
SourceFile: "PermissionBasedAuthorizationImpl.java"