Class: VertxShell::ShellServer

Inherits:
Object
  • Object
show all
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)

Instance Method Summary (collapse)

Class Method Details

+ (Boolean) accept?(obj)

Returns:

  • (Boolean)


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.

Overloads:

Returns:



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.

Yields:

  • handler for getting notified when service is stopped


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.

Overloads:

Returns:



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.

Yields:

  • handler for getting notified when service is started

Returns:

  • (self)


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.

Parameters:

Returns:

  • (self)


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.

Parameters:

Returns:

  • (self)


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.

Yields:

  • handler for getting notified when the server creates a new shell.


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