public class io.vertx.ext.auth.jdbc.impl.JDBCUserUtilImpl implements io.vertx.ext.auth.jdbc.JDBCUserUtil
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.ext.auth.jdbc.impl.JDBCUserUtilImpl
super_class: java.lang.Object
{
private static final java.lang.String INSERT_USER;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "INSERT INTO user (username, password) VALUES (?, ?)"
private static final java.lang.String INSERT_USER_ROLE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "INSERT INTO user_roles (username, role) VALUES (?, ?)"
private static final java.lang.String INSERT_ROLE_PERMISSION;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "INSERT INTO roles_perms (role, permission) VALUES (?, ?)"
private final io.vertx.ext.jdbc.JDBCClient client;
descriptor: Lio/vertx/ext/jdbc/JDBCClient;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.vertx.ext.auth.HashingStrategy strategy;
descriptor: Lio/vertx/ext/auth/HashingStrategy;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.security.SecureRandom random;
descriptor: Ljava/security/SecureRandom;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String insertUser;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String insertUserRole;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String insertRolePermission;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(io.vertx.ext.jdbc.JDBCClient);
descriptor: (Lio/vertx/ext/jdbc/JDBCClient;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ldc "INSERT INTO user (username, password) VALUES (?, ?)"
ldc "INSERT INTO user_roles (username, role) VALUES (?, ?)"
ldc "INSERT INTO roles_perms (role, permission) VALUES (?, ?)"
invokespecial io.vertx.ext.auth.jdbc.impl.JDBCUserUtilImpl.<init>:(Lio/vertx/ext/jdbc/JDBCClient;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/auth/jdbc/impl/JDBCUserUtilImpl;
0 2 1 client Lio/vertx/ext/jdbc/JDBCClient;
MethodParameters:
Name Flags
client
public void <init>(io.vertx.ext.jdbc.JDBCClient, java.lang.String, java.lang.String, java.lang.String);
descriptor: (Lio/vertx/ext/jdbc/JDBCClient;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
invokestatic io.vertx.ext.auth.HashingStrategy.load:()Lio/vertx/ext/auth/HashingStrategy;
putfield io.vertx.ext.auth.jdbc.impl.JDBCUserUtilImpl.strategy:Lio/vertx/ext/auth/HashingStrategy;
2: aload 0
new java.security.SecureRandom
dup
invokespecial java.security.SecureRandom.<init>:()V
putfield io.vertx.ext.auth.jdbc.impl.JDBCUserUtilImpl.random:Ljava/security/SecureRandom;
3: aload 0
aload 1
putfield io.vertx.ext.auth.jdbc.impl.JDBCUserUtilImpl.client:Lio/vertx/ext/jdbc/JDBCClient;
4: aload 0
aload 2
putfield io.vertx.ext.auth.jdbc.impl.JDBCUserUtilImpl.insertUser:Ljava/lang/String;
5: aload 0
aload 3
putfield io.vertx.ext.auth.jdbc.impl.JDBCUserUtilImpl.insertUserRole:Ljava/lang/String;
6: aload 0
aload 4
putfield io.vertx.ext.auth.jdbc.impl.JDBCUserUtilImpl.insertRolePermission:Ljava/lang/String;
7: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/vertx/ext/auth/jdbc/impl/JDBCUserUtilImpl;
0 8 1 client Lio/vertx/ext/jdbc/JDBCClient;
0 8 2 insertUser Ljava/lang/String;
0 8 3 insertUserRole Ljava/lang/String;
0 8 4 insertRolePermission Ljava/lang/String;
MethodParameters:
Name Flags
client
insertUser
insertUserRole
insertRolePermission
public io.vertx.ext.auth.jdbc.JDBCUserUtil createUser(java.lang.String, java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/auth/jdbc/JDBCUserUtil;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnull 1
aload 2
ifnonnull 3
1: StackMap locals:
StackMap stack:
aload 3
ldc "username or password are null"
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
2: aload 0
areturn
3: StackMap locals:
StackMap stack:
bipush 32
newarray 8
astore 4
start local 4 4: aload 0
getfield io.vertx.ext.auth.jdbc.impl.JDBCUserUtilImpl.random:Ljava/security/SecureRandom;
aload 4
invokevirtual java.security.SecureRandom.nextBytes:([B)V
5: aload 0
6: aload 1
7: aload 0
getfield io.vertx.ext.auth.jdbc.impl.JDBCUserUtilImpl.strategy:Lio/vertx/ext/auth/HashingStrategy;
ldc "pbkdf2"
8: aconst_null
9: invokestatic java.util.Base64.getMimeEncoder:()Ljava/util/Base64$Encoder;
aload 4
invokevirtual java.util.Base64$Encoder.encodeToString:([B)Ljava/lang/String;
10: aload 2
11: invokeinterface io.vertx.ext.auth.HashingStrategy.hash:(Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
12: aload 3
13: invokevirtual io.vertx.ext.auth.jdbc.impl.JDBCUserUtilImpl.createHashedUser:(Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/auth/jdbc/JDBCUserUtil;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lio/vertx/ext/auth/jdbc/impl/JDBCUserUtilImpl;
0 14 1 username Ljava/lang/String;
0 14 2 password Ljava/lang/String;
0 14 3 resultHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
4 14 4 salt [B
Signature: (Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)Lio/vertx/ext/auth/jdbc/JDBCUserUtil;
MethodParameters:
Name Flags
username
password
resultHandler
public io.vertx.ext.auth.jdbc.JDBCUserUtil createHashedUser(java.lang.String, java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/auth/jdbc/JDBCUserUtil;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnull 1
aload 2
ifnonnull 3
1: StackMap locals:
StackMap stack:
aload 3
ldc "username or password hash are null"
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
2: aload 0
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.auth.jdbc.impl.JDBCUserUtilImpl.client:Lio/vertx/ext/jdbc/JDBCClient;
aload 0
getfield io.vertx.ext.auth.jdbc.impl.JDBCUserUtilImpl.insertUser:Ljava/lang/String;
new io.vertx.core.json.JsonArray
dup
invokespecial io.vertx.core.json.JsonArray.<init>:()V
aload 1
invokevirtual io.vertx.core.json.JsonArray.add:(Ljava/lang/Object;)Lio/vertx/core/json/JsonArray;
aload 2
invokevirtual io.vertx.core.json.JsonArray.add:(Ljava/lang/Object;)Lio/vertx/core/json/JsonArray;
aload 3
invokedynamic handle(Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/vertx/ext/auth/jdbc/impl/JDBCUserUtilImpl.lambda$0(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (6)
(Lio/vertx/core/AsyncResult;)V
invokeinterface io.vertx.ext.jdbc.JDBCClient.updateWithParams:(Ljava/lang/String;Lio/vertx/core/json/JsonArray;Lio/vertx/core/Handler;)Lio/vertx/ext/sql/SQLClient;
pop
4: aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/ext/auth/jdbc/impl/JDBCUserUtilImpl;
0 5 1 username Ljava/lang/String;
0 5 2 hash Ljava/lang/String;
0 5 3 resultHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
Signature: (Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)Lio/vertx/ext/auth/jdbc/JDBCUserUtil;
MethodParameters:
Name Flags
username
hash
resultHandler
public io.vertx.ext.auth.jdbc.JDBCUserUtil createUserRole(java.lang.String, java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/auth/jdbc/JDBCUserUtil;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnull 1
aload 2
ifnonnull 3
1: StackMap locals:
StackMap stack:
aload 3
ldc "username or role are null"
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
2: aload 0
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.auth.jdbc.impl.JDBCUserUtilImpl.client:Lio/vertx/ext/jdbc/JDBCClient;
aload 0
getfield io.vertx.ext.auth.jdbc.impl.JDBCUserUtilImpl.insertUserRole:Ljava/lang/String;
new io.vertx.core.json.JsonArray
dup
invokespecial io.vertx.core.json.JsonArray.<init>:()V
aload 1
invokevirtual io.vertx.core.json.JsonArray.add:(Ljava/lang/Object;)Lio/vertx/core/json/JsonArray;
aload 2
invokevirtual io.vertx.core.json.JsonArray.add:(Ljava/lang/Object;)Lio/vertx/core/json/JsonArray;
aload 3
invokedynamic handle(Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/vertx/ext/auth/jdbc/impl/JDBCUserUtilImpl.lambda$1(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (6)
(Lio/vertx/core/AsyncResult;)V
invokeinterface io.vertx.ext.jdbc.JDBCClient.updateWithParams:(Ljava/lang/String;Lio/vertx/core/json/JsonArray;Lio/vertx/core/Handler;)Lio/vertx/ext/sql/SQLClient;
pop
4: aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/ext/auth/jdbc/impl/JDBCUserUtilImpl;
0 5 1 username Ljava/lang/String;
0 5 2 role Ljava/lang/String;
0 5 3 resultHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
Signature: (Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)Lio/vertx/ext/auth/jdbc/JDBCUserUtil;
MethodParameters:
Name Flags
username
role
resultHandler
public io.vertx.ext.auth.jdbc.JDBCUserUtil createRolePermission(java.lang.String, java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/auth/jdbc/JDBCUserUtil;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnull 1
aload 2
ifnonnull 3
1: StackMap locals:
StackMap stack:
aload 3
ldc "role or permission are null"
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
2: aload 0
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.auth.jdbc.impl.JDBCUserUtilImpl.client:Lio/vertx/ext/jdbc/JDBCClient;
aload 0
getfield io.vertx.ext.auth.jdbc.impl.JDBCUserUtilImpl.insertRolePermission:Ljava/lang/String;
new io.vertx.core.json.JsonArray
dup
invokespecial io.vertx.core.json.JsonArray.<init>:()V
aload 1
invokevirtual io.vertx.core.json.JsonArray.add:(Ljava/lang/Object;)Lio/vertx/core/json/JsonArray;
aload 2
invokevirtual io.vertx.core.json.JsonArray.add:(Ljava/lang/Object;)Lio/vertx/core/json/JsonArray;
aload 3
invokedynamic handle(Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/vertx/ext/auth/jdbc/impl/JDBCUserUtilImpl.lambda$2(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (6)
(Lio/vertx/core/AsyncResult;)V
invokeinterface io.vertx.ext.jdbc.JDBCClient.updateWithParams:(Ljava/lang/String;Lio/vertx/core/json/JsonArray;Lio/vertx/core/Handler;)Lio/vertx/ext/sql/SQLClient;
pop
4: aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/ext/auth/jdbc/impl/JDBCUserUtilImpl;
0 5 1 role Ljava/lang/String;
0 5 2 permission Ljava/lang/String;
0 5 3 resultHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
Signature: (Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)Lio/vertx/ext/auth/jdbc/JDBCUserUtil;
MethodParameters:
Name Flags
role
permission
resultHandler
private static void lambda$0(io.vertx.core.Handler, io.vertx.core.AsyncResult);
descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
ifeq 3
1: aload 0
invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
4: StackMap locals:
StackMap stack:
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 5 1 insert Lio/vertx/core/AsyncResult<Lio/vertx/ext/sql/UpdateResult;>;
private static void lambda$1(io.vertx.core.Handler, io.vertx.core.AsyncResult);
descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
ifeq 3
1: aload 0
invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
4: StackMap locals:
StackMap stack:
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 5 1 insert Lio/vertx/core/AsyncResult<Lio/vertx/ext/sql/UpdateResult;>;
private static void lambda$2(io.vertx.core.Handler, io.vertx.core.AsyncResult);
descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
ifeq 3
1: aload 0
invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
4: StackMap locals:
StackMap stack:
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 5 1 insert Lio/vertx/core/AsyncResult<Lio/vertx/ext/sql/UpdateResult;>;
}
SourceFile: "JDBCUserUtilImpl.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public Encoder = java.util.Base64$Encoder of java.util.Base64