public class io.vertx.ext.shell.impl.ShellServiceImpl implements io.vertx.ext.shell.ShellService
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.ext.shell.impl.ShellServiceImpl
super_class: java.lang.Object
{
private final io.vertx.core.Vertx vertx;
descriptor: Lio/vertx/core/Vertx;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.vertx.ext.shell.ShellServiceOptions options;
descriptor: Lio/vertx/ext/shell/ShellServiceOptions;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.vertx.ext.shell.ShellServer server;
descriptor: Lio/vertx/ext/shell/ShellServer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.vertx.ext.shell.command.CommandRegistry registry;
descriptor: Lio/vertx/ext/shell/command/CommandRegistry;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(io.vertx.core.Vertx, io.vertx.ext.shell.ShellServiceOptions);
descriptor: (Lio/vertx/core/Vertx;Lio/vertx/ext/shell/ShellServiceOptions;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield io.vertx.ext.shell.impl.ShellServiceImpl.vertx:Lio/vertx/core/Vertx;
2: aload 0
aload 2
putfield io.vertx.ext.shell.impl.ShellServiceImpl.options:Lio/vertx/ext/shell/ShellServiceOptions;
3: aload 0
aload 1
new io.vertx.ext.shell.ShellServerOptions
dup
aload 2
invokespecial io.vertx.ext.shell.ShellServerOptions.<init>:(Lio/vertx/ext/shell/ShellServerOptions;)V
invokestatic io.vertx.ext.shell.ShellServer.create:(Lio/vertx/core/Vertx;Lio/vertx/ext/shell/ShellServerOptions;)Lio/vertx/ext/shell/ShellServer;
putfield io.vertx.ext.shell.impl.ShellServiceImpl.server:Lio/vertx/ext/shell/ShellServer;
4: aload 0
aload 1
invokestatic io.vertx.ext.shell.command.CommandRegistry.getShared:(Lio/vertx/core/Vertx;)Lio/vertx/ext/shell/command/CommandRegistry;
putfield io.vertx.ext.shell.impl.ShellServiceImpl.registry:Lio/vertx/ext/shell/command/CommandRegistry;
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/ext/shell/impl/ShellServiceImpl;
0 6 1 vertx Lio/vertx/core/Vertx;
0 6 2 options Lio/vertx/ext/shell/ShellServiceOptions;
MethodParameters:
Name Flags
vertx
options
public io.vertx.ext.shell.ShellServer server();
descriptor: ()Lio/vertx/ext/shell/ShellServer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.shell.impl.ShellServiceImpl.server:Lio/vertx/ext/shell/ShellServer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/shell/impl/ShellServiceImpl;
public void start(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Lio/vertx/core/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=2
start local 0 start local 1 0: ldc Lio/vertx/ext/shell/spi/CommandResolverFactory;
invokestatic java.util.ServiceLoader.load:(Ljava/lang/Class;)Ljava/util/ServiceLoader;
astore 2
start local 2 1: aload 2
invokevirtual java.util.ServiceLoader.iterator:()Ljava/util/Iterator;
astore 3
start local 3 2: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 3: aload 4
invokedynamic resolver()Lio/vertx/ext/shell/spi/CommandResolverFactory;
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:
(Lio/vertx/core/Vertx;Lio/vertx/core/Handler;)V
io/vertx/ext/shell/impl/ShellServiceImpl.lambda$0(Lio/vertx/core/Vertx;Lio/vertx/core/Handler;)V (6)
(Lio/vertx/core/Vertx;Lio/vertx/core/Handler;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: StackMap locals: java.util.ServiceLoader java.util.Iterator java.util.List
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 10
5: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.vertx.ext.shell.spi.CommandResolverFactory
astore 5
start local 5 6: aload 4
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 7: goto 4
StackMap locals:
StackMap stack: java.lang.Exception
8: pop
9: goto 4
10: StackMap locals:
StackMap stack:
new java.util.concurrent.atomic.AtomicInteger
dup
aload 4
invokeinterface java.util.List.size:()I
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
astore 5
start local 5 11: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 6
start local 6 12: aload 6
aload 0
getfield io.vertx.ext.shell.impl.ShellServiceImpl.registry:Lio/vertx/ext/shell/command/CommandRegistry;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
13: aload 0
aload 5
aload 6
aload 1
invokedynamic handle(Lio/vertx/ext/shell/impl/ShellServiceImpl;Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/List;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/shell/impl/ShellServiceImpl.lambda$1(Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/List;Lio/vertx/core/Handler;Ljava/lang/Void;)V (7)
(Ljava/lang/Void;)V
astore 7
start local 7 14: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 17
StackMap locals: io.vertx.ext.shell.impl.ShellServiceImpl io.vertx.core.Handler java.util.ServiceLoader java.util.Iterator java.util.List java.util.concurrent.atomic.AtomicInteger java.util.List io.vertx.core.Handler top java.util.Iterator
StackMap stack:
15: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.vertx.ext.shell.spi.CommandResolverFactory
astore 8
start local 8 16: aload 8
aload 0
getfield io.vertx.ext.shell.impl.ShellServiceImpl.vertx:Lio/vertx/core/Vertx;
aload 6
aload 7
invokedynamic handle(Ljava/util/List;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/shell/impl/ShellServiceImpl.lambda$2(Ljava/util/List;Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (6)
(Lio/vertx/core/AsyncResult;)V
invokeinterface io.vertx.ext.shell.spi.CommandResolverFactory.resolver:(Lio/vertx/core/Vertx;Lio/vertx/core/Handler;)V
end local 8 17: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
18: return
end local 7 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 19 0 this Lio/vertx/ext/shell/impl/ShellServiceImpl;
0 19 1 startHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
1 19 2 loader Ljava/util/ServiceLoader<Lio/vertx/ext/shell/spi/CommandResolverFactory;>;
2 19 3 it Ljava/util/Iterator<Lio/vertx/ext/shell/spi/CommandResolverFactory;>;
3 19 4 factories Ljava/util/List<Lio/vertx/ext/shell/spi/CommandResolverFactory;>;
6 7 5 factory Lio/vertx/ext/shell/spi/CommandResolverFactory;
11 19 5 count Ljava/util/concurrent/atomic/AtomicInteger;
12 19 6 resolvers Ljava/util/List<Lio/vertx/ext/shell/command/CommandResolver;>;
14 19 7 startServer Lio/vertx/core/Handler<Ljava/lang/Void;>;
16 17 8 factory Lio/vertx/ext/shell/spi/CommandResolverFactory;
Exception table:
from to target type
4 7 8 Class java.lang.Exception
Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
MethodParameters:
Name Flags
startHandler
private void startServer(java.util.List<io.vertx.ext.shell.command.CommandResolver>, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Ljava/util/List;Lio/vertx/core/Handler;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.vertx.ext.shell.impl.ShellServiceImpl.options:Lio/vertx/ext/shell/ShellServiceOptions;
invokevirtual io.vertx.ext.shell.ShellServiceOptions.getTelnetOptions:()Lio/vertx/ext/shell/term/TelnetTermOptions;
astore 3
start local 3 1: aload 0
getfield io.vertx.ext.shell.impl.ShellServiceImpl.options:Lio/vertx/ext/shell/ShellServiceOptions;
invokevirtual io.vertx.ext.shell.ShellServiceOptions.getSSHOptions:()Lio/vertx/ext/shell/term/SSHTermOptions;
astore 4
start local 4 2: aload 0
getfield io.vertx.ext.shell.impl.ShellServiceImpl.options:Lio/vertx/ext/shell/ShellServiceOptions;
invokevirtual io.vertx.ext.shell.ShellServiceOptions.getHttpOptions:()Lio/vertx/ext/shell/term/HttpTermOptions;
astore 5
start local 5 3: aload 3
ifnull 5
4: aload 0
getfield io.vertx.ext.shell.impl.ShellServiceImpl.server:Lio/vertx/ext/shell/ShellServer;
new io.vertx.ext.shell.term.impl.TelnetTermServer
dup
aload 0
getfield io.vertx.ext.shell.impl.ShellServiceImpl.vertx:Lio/vertx/core/Vertx;
aload 3
invokespecial io.vertx.ext.shell.term.impl.TelnetTermServer.<init>:(Lio/vertx/core/Vertx;Lio/vertx/ext/shell/term/TelnetTermOptions;)V
invokeinterface io.vertx.ext.shell.ShellServer.registerTermServer:(Lio/vertx/ext/shell/term/TermServer;)Lio/vertx/ext/shell/ShellServer;
pop
5: StackMap locals: io.vertx.ext.shell.term.TelnetTermOptions io.vertx.ext.shell.term.SSHTermOptions io.vertx.ext.shell.term.HttpTermOptions
StackMap stack:
aload 4
ifnull 7
6: aload 0
getfield io.vertx.ext.shell.impl.ShellServiceImpl.server:Lio/vertx/ext/shell/ShellServer;
new io.vertx.ext.shell.term.impl.SSHServer
dup
aload 0
getfield io.vertx.ext.shell.impl.ShellServiceImpl.vertx:Lio/vertx/core/Vertx;
aload 4
invokespecial io.vertx.ext.shell.term.impl.SSHServer.<init>:(Lio/vertx/core/Vertx;Lio/vertx/ext/shell/term/SSHTermOptions;)V
invokeinterface io.vertx.ext.shell.ShellServer.registerTermServer:(Lio/vertx/ext/shell/term/TermServer;)Lio/vertx/ext/shell/ShellServer;
pop
7: StackMap locals:
StackMap stack:
aload 5
ifnull 9
8: aload 0
getfield io.vertx.ext.shell.impl.ShellServiceImpl.server:Lio/vertx/ext/shell/ShellServer;
new io.vertx.ext.shell.term.impl.HttpTermServer
dup
aload 0
getfield io.vertx.ext.shell.impl.ShellServiceImpl.vertx:Lio/vertx/core/Vertx;
aload 5
invokespecial io.vertx.ext.shell.term.impl.HttpTermServer.<init>:(Lio/vertx/core/Vertx;Lio/vertx/ext/shell/term/HttpTermOptions;)V
invokeinterface io.vertx.ext.shell.ShellServer.registerTermServer:(Lio/vertx/ext/shell/term/TermServer;)Lio/vertx/ext/shell/ShellServer;
pop
9: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield io.vertx.ext.shell.impl.ShellServiceImpl.server:Lio/vertx/ext/shell/ShellServer;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic accept(Lio/vertx/ext/shell/ShellServer;)Ljava/util/function/Consumer;
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/shell/ShellServer.registerCommandResolver(Lio/vertx/ext/shell/command/CommandResolver;)Lio/vertx/ext/shell/ShellServer; (9 itf)
(Lio/vertx/ext/shell/command/CommandResolver;)V
invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
10: aload 0
getfield io.vertx.ext.shell.impl.ShellServiceImpl.server:Lio/vertx/ext/shell/ShellServer;
aload 2
invokeinterface io.vertx.ext.shell.ShellServer.listen:(Lio/vertx/core/Handler;)Lio/vertx/ext/shell/ShellServer;
pop
11: return
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 12 0 this Lio/vertx/ext/shell/impl/ShellServiceImpl;
0 12 1 resolvers Ljava/util/List<Lio/vertx/ext/shell/command/CommandResolver;>;
0 12 2 startHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
1 12 3 telnetOptions Lio/vertx/ext/shell/term/TelnetTermOptions;
2 12 4 sshOptions Lio/vertx/ext/shell/term/SSHTermOptions;
3 12 5 webOptions Lio/vertx/ext/shell/term/HttpTermOptions;
Signature: (Ljava/util/List<Lio/vertx/ext/shell/command/CommandResolver;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
MethodParameters:
Name Flags
resolvers
startHandler
public void stop(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Lio/vertx/core/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.ext.shell.impl.ShellServiceImpl.server:Lio/vertx/ext/shell/ShellServer;
aload 1
invokeinterface io.vertx.ext.shell.ShellServer.close:(Lio/vertx/core/Handler;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/shell/impl/ShellServiceImpl;
0 2 1 stopHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
MethodParameters:
Name Flags
stopHandler
private static void lambda$0(io.vertx.core.Vertx, io.vertx.core.Handler);
descriptor: (Lio/vertx/core/Vertx;Lio/vertx/core/Handler;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokestatic io.vertx.ext.shell.command.CommandResolver.baseCommands:(Lio/vertx/core/Vertx;)Lio/vertx/ext/shell/command/CommandResolver;
invokestatic io.vertx.core.Future.succeededFuture:(Ljava/lang/Object;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 vertx Lio/vertx/core/Vertx;
0 1 1 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/shell/command/CommandResolver;>;>;
private void lambda$1(java.util.concurrent.atomic.AtomicInteger, java.util.List, io.vertx.core.Handler, java.lang.Void);
descriptor: (Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/List;Lio/vertx/core/Handler;Ljava/lang/Void;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=5, args_size=5
start local 0 start local 4 0: aload 1
invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
ifne 2
1: aload 0
aload 2
aload 3
invokevirtual io.vertx.ext.shell.impl.ShellServiceImpl.startServer:(Ljava/util/List;Lio/vertx/core/Handler;)V
2: StackMap locals:
StackMap stack:
return
end local 4 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/ext/shell/impl/ShellServiceImpl;
0 3 4 v Ljava/lang/Void;
private static void lambda$2(java.util.List, io.vertx.core.Handler, io.vertx.core.AsyncResult);
descriptor: (Ljava/util/List;Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 2 0: aload 2
invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
ifeq 2
1: aload 0
aload 2
invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
checkcast io.vertx.ext.shell.command.CommandResolver
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: StackMap locals:
StackMap stack:
aload 1
aconst_null
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
3: return
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 4 2 ar Lio/vertx/core/AsyncResult<Lio/vertx/ext/shell/command/CommandResolver;>;
}
SourceFile: "ShellServiceImpl.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles