Class: VertxShell::ShellServer
- Inherits:
-
Object
- Object
- VertxShell::ShellServer
- Defined in:
- /Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-shell/shell_server.rb
Overview
The shell server.
A shell server is associated with a collection of : the #register_term_server
method registers a term server. Term servers life cycle are managed by this server.
When a receives an incoming connection, a instance is created and
associated with this connection.
The #create_shell method can be used to create instance for testing purposes.
Constant Summary
- @@j_api_type =
Object.new
Class Method Summary (collapse)
- + (Boolean) accept?(obj)
-
+ (::VertxShell::ShellServer) create(*args)
Create a new shell server with default options.
- + (Object) j_api_type
- + (Object) j_class
- + (Object) unwrap(obj)
- + (Object) wrap(obj)
Instance Method Summary (collapse)
-
- (void) close(completionHandler) { ... }
Close the shell server, this is an asynchronous close.
-
- (::VertxShell::Shell) create_shell(*args)
Create a new shell, the returned shell should be closed explicitely.
-
- (self) listen(listenHandler) { ... }
Start the shell service, this is an asynchronous start.
-
- (self) registerCommandResolver(resolver)
Register a command resolver for this server.
-
- (self) registerTermServer(termServer)
Register a term server to this shell server, the term server lifecycle methods are managed by this shell server.
-
- (void) shellHandler(shellHandler) { ... }
Called when a new shell is created.
Class Method Details
+ (Boolean) accept?(obj)
32 33 34 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-shell/shell_server.rb', line 32 def @@j_api_type.accept?(obj) obj.class == ShellServer end |
+ (::VertxShell::ShellServer) create(vertx) + (::VertxShell::ShellServer) create(vertx, options)
Create a new shell server with default options.
101 102 103 104 105 106 107 108 109 110 111 112 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-shell/shell_server.rb', line 101 def self.create(*args) if args[0].class.method_defined?(:j_del) && !block_given? && args[1] == nil return ::Vertx::Util::Utils.safe_create(Java::IoVertxExtShell::ShellServer.java_method(:create, [Java::IoVertxCore::Vertx.java_class]).call(args[0].j_del),::VertxShell::ShellServer) elsif args[0].class.method_defined?(:j_del) && args[1].class == Hash && !block_given? return ::Vertx::Util::Utils.safe_create(Java::IoVertxExtShell::ShellServer.java_method(:create, [Java::IoVertxCore::Vertx.java_class,Java::IoVertxExtShell::ShellServerOptions.java_class]).call(args[0].j_del,Java::IoVertxExtShell::ShellServerOptions.new(::Vertx::Util::Utils.to_json_object(args[1]))),::VertxShell::ShellServer) end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling create(#{args[0]},#{args[1]})" end end |
+ (Object) j_api_type
41 42 43 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-shell/shell_server.rb', line 41 def self.j_api_type @@j_api_type end |
+ (Object) j_class
44 45 46 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-shell/shell_server.rb', line 44 def self.j_class Java::IoVertxExtShell::ShellServer.java_class end |
+ (Object) unwrap(obj)
38 39 40 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-shell/shell_server.rb', line 38 def @@j_api_type.unwrap(obj) obj.j_del end |
+ (Object) wrap(obj)
35 36 37 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-shell/shell_server.rb', line 35 def @@j_api_type.wrap(obj) ShellServer.new(obj) end |
Instance Method Details
- (void) close(completionHandler) { ... }
This method returns an undefined value.
Close the shell server, this is an asynchronous close.
132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-shell/shell_server.rb', line 132 def close if true if (block_given?) return @j_del.java_method(:close, [Java::IoVertxCore::Handler.java_class]).call(block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise) else promise = ::Vertx::Util::Utils.promise @j_del.java_method(:close, [Java::IoVertxCore::Handler.java_class]).call(block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise) return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil) end end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling close()" end end |
- (::VertxShell::Shell) createShell - (::VertxShell::Shell) createShell(term)
Create a new shell, the returned shell should be closed explicitely.
52 53 54 55 56 57 58 59 60 61 62 63 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-shell/shell_server.rb', line 52 def create_shell(*args) if !block_given? && args[0] == nil return ::Vertx::Util::Utils.safe_create(@j_del.java_method(:createShell, []).call(),::VertxShell::Shell) elsif args[0].class.method_defined?(:j_del) && !block_given? return ::Vertx::Util::Utils.safe_create(@j_del.java_method(:createShell, [Java::IoVertxExtShellTerm::Term.java_class]).call(args[0].j_del),::VertxShell::Shell) end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling create_shell(#{args[0]})" end end |
- (self) listen(listenHandler) { ... }
Start the shell service, this is an asynchronous start.
152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-shell/shell_server.rb', line 152 def listen if true if (block_given?) @j_del.java_method(:listen, [Java::IoVertxCore::Handler.java_class]).call(block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise) return self else promise = ::Vertx::Util::Utils.promise @j_del.java_method(:listen, [Java::IoVertxCore::Handler.java_class]).call(block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise) return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil) end end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling listen()" end end |
- (self) registerCommandResolver(resolver)
Register a command resolver for this server.
68 69 70 71 72 73 74 75 76 77 78 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-shell/shell_server.rb', line 68 def register_command_resolver(*args) if args[0].class.method_defined?(:j_del) && !block_given? @j_del.java_method(:registerCommandResolver, [Java::IoVertxExtShellCommand::CommandResolver.java_class]).call(args[0].j_del) return self end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling register_command_resolver(#{args[0]})" end end |
- (self) registerTermServer(termServer)
Register a term server to this shell server, the term server lifecycle methods are managed by this shell server.
83 84 85 86 87 88 89 90 91 92 93 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-shell/shell_server.rb', line 83 def register_term_server(*args) if args[0].class.method_defined?(:j_del) && !block_given? @j_del.java_method(:registerTermServer, [Java::IoVertxExtShellTerm::TermServer.java_class]).call(args[0].j_del) return self end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling register_term_server(#{args[0]})" end end |
- (void) shellHandler(shellHandler) { ... }
This method returns an undefined value.
Called when a new shell is created. Can be used to prepopulate the shell session with objects or set the prompt.
118 119 120 121 122 123 124 125 126 127 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-shell/shell_server.rb', line 118 def shell_handler if true return @j_del.java_method(:shellHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::VertxShell::Shell)) unless !block_given? })) end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling shell_handler()" end end |