public class io.vertx.service.ServiceVerticleFactory implements io.vertx.core.spi.VerticleFactory
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.service.ServiceVerticleFactory
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/service/ServiceVerticleFactory;
public java.lang.String prefix();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "service"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/service/ServiceVerticleFactory;
public void createVerticle(java.lang.String, java.lang.ClassLoader, io.vertx.core.Promise<java.util.concurrent.Callable<io.vertx.core.Verticle>>);
descriptor: (Ljava/lang/String;Ljava/lang/ClassLoader;Lio/vertx/core/Promise;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
new io.vertx.core.DeploymentOptions
dup
invokespecial io.vertx.core.DeploymentOptions.<init>:()V
aload 2
aload 3
invokevirtual io.vertx.service.ServiceVerticleFactory.createVerticle:(Ljava/lang/String;Lio/vertx/core/DeploymentOptions;Ljava/lang/ClassLoader;Lio/vertx/core/Promise;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/service/ServiceVerticleFactory;
0 2 1 verticleName Ljava/lang/String;
0 2 2 classLoader Ljava/lang/ClassLoader;
0 2 3 promise Lio/vertx/core/Promise<Ljava/util/concurrent/Callable<Lio/vertx/core/Verticle;>;>;
Signature: (Ljava/lang/String;Ljava/lang/ClassLoader;Lio/vertx/core/Promise<Ljava/util/concurrent/Callable<Lio/vertx/core/Verticle;>;>;)V
MethodParameters:
Name Flags
verticleName
classLoader
promise
protected void createVerticle(java.lang.String, io.vertx.core.DeploymentOptions, java.lang.ClassLoader, io.vertx.core.Promise<java.util.concurrent.Callable<io.vertx.core.Verticle>>);
descriptor: (Ljava/lang/String;Lio/vertx/core/DeploymentOptions;Ljava/lang/ClassLoader;Lio/vertx/core/Promise;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=16, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
invokestatic io.vertx.core.spi.VerticleFactory.removePrefix:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 1: new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".json"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
start local 6 2: aconst_null
astore 9
aconst_null
astore 10
3: aload 3
aload 6
invokevirtual java.lang.ClassLoader.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
astore 11
start local 11 4: aload 11
ifnonnull 6
5: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Cannot find service descriptor file "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " on classpath"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: io.vertx.service.ServiceVerticleFactory java.lang.String io.vertx.core.DeploymentOptions java.lang.ClassLoader io.vertx.core.Promise java.lang.String java.lang.String top top java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack:
aconst_null
astore 12
aconst_null
astore 13
7: new java.util.Scanner
dup
aload 11
ldc "UTF-8"
invokespecial java.util.Scanner.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
ldc "\\A"
invokevirtual java.util.Scanner.useDelimiter:(Ljava/lang/String;)Ljava/util/Scanner;
astore 14
start local 14 8: aload 14
invokevirtual java.util.Scanner.next:()Ljava/lang/String;
astore 15
start local 15 9: new io.vertx.core.json.JsonObject
dup
aload 15
invokespecial io.vertx.core.json.JsonObject.<init>:(Ljava/lang/String;)V
astore 7
end local 15 start local 7 10: aload 14
ifnull 20
aload 14
invokevirtual java.util.Scanner.close:()V
goto 20
end local 7 StackMap locals: io.vertx.service.ServiceVerticleFactory java.lang.String io.vertx.core.DeploymentOptions java.lang.ClassLoader io.vertx.core.Promise java.lang.String java.lang.String top top java.lang.Throwable java.lang.Throwable java.io.InputStream java.lang.Throwable java.lang.Throwable java.util.Scanner
StackMap stack: java.lang.Throwable
11: astore 12
aload 14
ifnull 12
aload 14
invokevirtual java.util.Scanner.close:()V
end local 14 StackMap locals:
StackMap stack:
12: aload 12
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 13
aload 12
ifnonnull 14
aload 13
astore 12
goto 15
StackMap locals:
StackMap stack:
14: aload 12
aload 13
if_acmpeq 15
aload 12
aload 13
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
15: aload 12
athrow
StackMap locals: io.vertx.service.ServiceVerticleFactory java.lang.String io.vertx.core.DeploymentOptions java.lang.ClassLoader io.vertx.core.Promise java.lang.String java.lang.String top top java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack: java.util.NoSuchElementException
16: pop
17: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
aload 6
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " is empty"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals:
StackMap stack: io.vertx.core.json.DecodeException
pop
19: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
aload 6
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " contains invalid json"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
start local 7 20: StackMap locals: io.vertx.service.ServiceVerticleFactory java.lang.String io.vertx.core.DeploymentOptions java.lang.ClassLoader io.vertx.core.Promise java.lang.String java.lang.String io.vertx.core.json.JsonObject top java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack:
aload 11
ifnull 26
aload 11
invokevirtual java.io.InputStream.close:()V
goto 26
end local 7 StackMap locals: io.vertx.service.ServiceVerticleFactory java.lang.String io.vertx.core.DeploymentOptions java.lang.ClassLoader io.vertx.core.Promise java.lang.String java.lang.String top top java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack: java.lang.Throwable
21: astore 9
aload 11
ifnull 22
aload 11
invokevirtual java.io.InputStream.close:()V
end local 11 StackMap locals:
StackMap stack:
22: aload 9
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
23: astore 10
aload 9
ifnonnull 24
aload 10
astore 9
goto 25
StackMap locals:
StackMap stack:
24: aload 9
aload 10
if_acmpeq 25
aload 9
aload 10
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
25: aload 9
athrow
start local 7 26: StackMap locals: io.vertx.service.ServiceVerticleFactory java.lang.String io.vertx.core.DeploymentOptions java.lang.ClassLoader io.vertx.core.Promise java.lang.String java.lang.String io.vertx.core.json.JsonObject
StackMap stack:
aload 7
ldc "main"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 8
start local 8 27: aload 8
ifnonnull 29
28: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
aload 6
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " does not contain a main field"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
29: StackMap locals: java.lang.String
StackMap stack:
aload 7
ldc "options"
new io.vertx.core.json.JsonObject
dup
invokespecial io.vertx.core.json.JsonObject.<init>:()V
invokevirtual io.vertx.core.json.JsonObject.getJsonObject:(Ljava/lang/String;Lio/vertx/core/json/JsonObject;)Lio/vertx/core/json/JsonObject;
astore 9
start local 9 30: aload 9
aload 2
invokevirtual io.vertx.core.DeploymentOptions.toJson:()Lio/vertx/core/json/JsonObject;
invokevirtual io.vertx.core.json.JsonObject.mergeIn:(Lio/vertx/core/json/JsonObject;)Lio/vertx/core/json/JsonObject;
pop
31: aload 4
aload 0
aload 9
aload 8
invokedynamic call(Lio/vertx/service/ServiceVerticleFactory;Lio/vertx/core/json/JsonObject;Ljava/lang/String;)Ljava/util/concurrent/Callable;
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;
io/vertx/service/ServiceVerticleFactory.lambda$0(Lio/vertx/core/json/JsonObject;Ljava/lang/String;)Lio/vertx/core/Verticle; (7)
()Lio/vertx/core/Verticle;
invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
end local 9 end local 8 end local 7 32: goto 35
StackMap locals: io.vertx.service.ServiceVerticleFactory java.lang.String io.vertx.core.DeploymentOptions java.lang.ClassLoader io.vertx.core.Promise java.lang.String java.lang.String
StackMap stack: java.lang.Exception
33: astore 7
start local 7 34: aload 4
aload 7
invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/Throwable;)V
end local 7 35: StackMap locals:
StackMap stack:
return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lio/vertx/service/ServiceVerticleFactory;
0 36 1 verticleName Ljava/lang/String;
0 36 2 deploymentOptions Lio/vertx/core/DeploymentOptions;
0 36 3 classLoader Ljava/lang/ClassLoader;
0 36 4 promise Lio/vertx/core/Promise<Ljava/util/concurrent/Callable<Lio/vertx/core/Verticle;>;>;
1 36 5 identifier Ljava/lang/String;
2 36 6 descriptorFile Ljava/lang/String;
10 11 7 descriptor Lio/vertx/core/json/JsonObject;
20 21 7 descriptor Lio/vertx/core/json/JsonObject;
26 32 7 descriptor Lio/vertx/core/json/JsonObject;
27 32 8 main Ljava/lang/String;
4 22 11 is Ljava/io/InputStream;
8 12 14 scanner Ljava/util/Scanner;
9 10 15 conf Ljava/lang/String;
30 32 9 serviceOptions Lio/vertx/core/json/JsonObject;
34 35 7 e Ljava/lang/Exception;
Exception table:
from to target type
8 10 11 any
7 13 13 any
6 16 16 Class java.util.NoSuchElementException
6 16 18 Class io.vertx.core.json.DecodeException
4 20 21 any
3 23 23 any
2 32 33 Class java.lang.Exception
Signature: (Ljava/lang/String;Lio/vertx/core/DeploymentOptions;Ljava/lang/ClassLoader;Lio/vertx/core/Promise<Ljava/util/concurrent/Callable<Lio/vertx/core/Verticle;>;>;)V
MethodParameters:
Name Flags
verticleName
deploymentOptions
classLoader
promise
private io.vertx.core.Verticle lambda$0(io.vertx.core.json.JsonObject, java.lang.String);
descriptor: (Lio/vertx/core/json/JsonObject;Ljava/lang/String;)Lio/vertx/core/Verticle;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=3, args_size=3
start local 0 0: new io.vertx.service.ServiceVerticleFactory$1
dup
aload 0
aload 1
aload 2
invokespecial io.vertx.service.ServiceVerticleFactory$1.<init>:(Lio/vertx/service/ServiceVerticleFactory;Lio/vertx/core/json/JsonObject;Ljava/lang/String;)V
1: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/service/ServiceVerticleFactory;
Exceptions:
throws java.lang.Exception
}
SourceFile: "ServiceVerticleFactory.java"
NestMembers:
io.vertx.service.ServiceVerticleFactory$1 io.vertx.service.ServiceVerticleFactory$2
InnerClasses:
io.vertx.service.ServiceVerticleFactory$1
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles