Class: Vertx::CLI

Inherits:
Object
  • Object
show all
Defined in:
/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb

Overview

Interface defining a command-line interface (in other words a command such as 'run', 'ls'...). This interface is polyglot to ease reuse such as in Vert.x Shell.

A command line interface has a name, and defines a set of options and arguments. Options are key-value pair such as -foo=bar or -flag. The supported formats depend on the used parser. Arguments are unlike options raw values. Options are defined using => Object}, while argument are defined using => Object}.

Command line interfaces also define a summary and a description. These attributes are used in the usage generation . To disable the help generation, set the hidden attribute to true.

Command Line Interface object does not contains "value", it's a model. It must be evaluated by a parser that returns a CommandLine object containing the argument and option values.

Constant Summary

@@j_api_type =
Object.new

Class Method Summary (collapse)

Instance Method Summary (collapse)

Class Method Details

+ (Boolean) accept?(obj)

Returns:

  • (Boolean)


31
32
33
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 31

def @@j_api_type.accept?(obj)
  obj.class == CLI
end

+ (::Vertx::CLI) create(name)

Creates an instance of Vertx::CLI using the default implementation.

Parameters:

  • name (String)
    the name of the CLI (must not be null)

Returns:



341
342
343
344
345
346
347
348
349
350
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 341

def self.create(*args)
  if args[0].class == String && !block_given?
    return ::Vertx::Util::Utils.safe_create(Java::IoVertxCoreCli::CLI.java_method(:create, [Java::java.lang.String.java_class]).call(args[0]),::Vertx::CLI)
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling create(#{args[0]})"
  end
end

+ (Object) j_api_type



40
41
42
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 40

def self.j_api_type
  @@j_api_type
end

+ (Object) j_class



43
44
45
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 43

def self.j_class
  Java::IoVertxCoreCli::CLI.java_class
end

+ (Object) unwrap(obj)



37
38
39
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 37

def @@j_api_type.unwrap(obj)
  obj.j_del
end

+ (Object) wrap(obj)



34
35
36
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 34

def @@j_api_type.wrap(obj)
  CLI.new(obj)
end

Instance Method Details

- (self) addArgument(arg)

Adds an argument.

Parameters:

  • arg (Hash{String => Object})
    the argument, must not be null

Returns:

  • (self)


225
226
227
228
229
230
231
232
233
234
235
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 225

def add_argument(*args)
  if args[0].class == Hash && !block_given?
    @j_del.java_method(:addArgument, [Java::IoVertxCoreCli::Argument.java_class]).call(Java::IoVertxCoreCli::Argument.new(::Vertx::Util::Utils.to_json_object(args[0])))
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling add_argument(#{args[0]})"
  end
end

- (self) addArguments(args)

Adds a set of arguments. Unlike #set_arguments, this method does not remove the existing arguments. The given list is appended to the existing list.

Parameters:

  • args (Array<Hash{String => Object}>)
    the arguments, must not be null

Returns:

  • (self)


66
67
68
69
70
71
72
73
74
75
76
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 66

def add_arguments(*args)
  if args[0].class == Array && !block_given?
    @j_del.java_method(:addArguments, [Java::JavaUtil::List.java_class]).call(args[0].map { |element| Java::IoVertxCoreCli::Argument.new(::Vertx::Util::Utils.to_json_object(element)) })
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling add_arguments(#{args[0]})"
  end
end

- (self) addOption(option)

Adds an option.

Parameters:

  • option (Hash{String => Object})
    the option, must not be null.

Returns:

  • (self)


255
256
257
258
259
260
261
262
263
264
265
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 255

def add_option(*args)
  if args[0].class == Hash && !block_given?
    @j_del.java_method(:addOption, [Java::IoVertxCoreCli::Option.java_class]).call(Java::IoVertxCoreCli::Option.new(::Vertx::Util::Utils.to_json_object(args[0])))
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling add_option(#{args[0]})"
  end
end

- (self) addOptions(options)

Adds a set of options. Unlike #set_options}, this method does not remove the existing options. The given list is appended to the existing list.

Parameters:

  • options (Array<Hash{String => Object}>)
    the options, must not be null

Returns:

  • (self)


384
385
386
387
388
389
390
391
392
393
394
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 384

def add_options(*args)
  if args[0].class == Array && !block_given?
    @j_del.java_method(:addOptions, [Java::JavaUtil::List.java_class]).call(args[0].map { |element| Java::IoVertxCoreCli::Option.new(::Vertx::Util::Utils.to_json_object(element)) })
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling add_options(#{args[0]})"
  end
end

- (Hash{String => Object}) getArgument(name) - (Hash{String => Object}) getArgument(index)

Gets an => Object} based on its index.

Overloads:

  • - (Hash{String => Object}) getArgument(name)

    Parameters:

    • name (String)
      the name of the argument, must not be null
  • - (Hash{String => Object}) getArgument(index)

    Parameters:

    • index (Fixnum)
      the index, must be positive or zero.

Returns:

  • (Hash{String => Object})
    the => Object}, null if not found.


122
123
124
125
126
127
128
129
130
131
132
133
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 122

def get_argument(*args)
  if args[0].class == String && !block_given?
    return @j_del.java_method(:getArgument, [Java::java.lang.String.java_class]).call(args[0]) != nil ? JSON.parse(@j_del.java_method(:getArgument, [Java::java.lang.String.java_class]).call(args[0]).toJson.encode) : nil
  elsif args[0].class == Fixnum && !block_given?
    return @j_del.java_method(:getArgument, [Java::int.java_class]).call(args[0]) != nil ? JSON.parse(@j_del.java_method(:getArgument, [Java::int.java_class]).call(args[0]).toJson.encode) : nil
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling get_argument(#{args[0]})"
  end
end

- (Array<Hash{String => Object}>) getArguments

Gets the list of defined arguments.

Returns:

  • (Array<Hash{String => Object}>)
    the list of argument, empty if none.


312
313
314
315
316
317
318
319
320
321
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 312

def get_arguments
  if !block_given?
    return @j_del.java_method(:getArguments, []).call().to_a.map { |elt| elt != nil ? JSON.parse(elt.toJson.encode) : nil }
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling get_arguments()"
  end
end

- (String) getDescription

Returns the CLI description.

Returns:

  • (String)
    the CLI description.


183
184
185
186
187
188
189
190
191
192
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 183

def get_description
  if !block_given?
    return @j_del.java_method(:getDescription, []).call()
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling get_description()"
  end
end

- (String) getName

Returns the CLI name.

Returns:

  • (String)
    the CLI name.


106
107
108
109
110
111
112
113
114
115
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 106

def get_name
  if !block_given?
    return @j_del.java_method(:getName, []).call()
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling get_name()"
  end
end

- (Hash{String => Object}) getOption(name)

Gets an => Object} based on its name (short name, long name or argument name).

Parameters:

  • name (String)
    the name, must not be null

Returns:

  • (Hash{String => Object})
    the => Object}, null if not found


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/cli.rb', line 138

def get_option(*args)
  if args[0].class == String && !block_given?
    return @j_del.java_method(:getOption, [Java::java.lang.String.java_class]).call(args[0]) != nil ? JSON.parse(@j_del.java_method(:getOption, [Java::java.lang.String.java_class]).call(args[0]).toJson.encode) : nil
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling get_option(#{args[0]})"
  end
end

- (Array<Hash{String => Object}>) getOptions

Gets the list of options.

Returns:

  • (Array<Hash{String => Object}>)
    the list of options, empty if none.


354
355
356
357
358
359
360
361
362
363
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 354

def get_options
  if !block_given?
    return @j_del.java_method(:getOptions, []).call().to_a.map { |elt| elt != nil ? JSON.parse(elt.toJson.encode) : nil }
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling get_options()"
  end
end

- (Fixnum) getPriority

Returns the CLI priority.

Returns:

  • (Fixnum)
    the CLI priority.


284
285
286
287
288
289
290
291
292
293
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 284

def get_priority
  if !block_given?
    return @j_del.java_method(:getPriority, []).call()
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling get_priority()"
  end
end

- (String) getSummary

Returns the CLI summary.

Returns:

  • (String)
    the CLI summary.


94
95
96
97
98
99
100
101
102
103
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 94

def get_summary
  if !block_given?
    return @j_del.java_method(:getSummary, []).call()
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling get_summary()"
  end
end

- (true, false) isHidden

Checks whether or not the current Vertx::CLI instance is hidden.

Returns:

  • (true, false)
    true if the current Vertx::CLI is hidden, otherwise


211
212
213
214
215
216
217
218
219
220
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 211

def hidden?
  if !block_given?
    return @j_del.java_method(:isHidden, []).call()
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling hidden?()"
  end
end

- (::Vertx::CommandLine) parse(arguments) - (::Vertx::CommandLine) parse(arguments, validate)

Parses the user command line interface and create a new Vertx::CommandLine containing extracting values.

Overloads:

  • - (::Vertx::CommandLine) parse(arguments)

    Parameters:

    • arguments (Array<String>)
      the arguments
  • - (::Vertx::CommandLine) parse(arguments, validate)

    Parameters:

    • arguments (Array<String>)
      the arguments
    • validate (true, false)
      enable / disable parsing validation

Returns:



169
170
171
172
173
174
175
176
177
178
179
180
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 169

def parse(*args)
  if args[0].class == Array && !block_given? && args[1] == nil
    return ::Vertx::Util::Utils.safe_create(@j_del.java_method(:parse, [Java::JavaUtil::List.java_class]).call(args[0].map { |element| element }),::Vertx::CommandLine)
  elsif args[0].class == Array && (args[1].class == TrueClass || args[1].class == FalseClass) && !block_given?
    return ::Vertx::Util::Utils.safe_create(@j_del.java_method(:parse, [Java::JavaUtil::List.java_class,Java::boolean.java_class]).call(args[0].map { |element| element },args[1]),::Vertx::CommandLine)
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling parse(#{args[0]},#{args[1]})"
  end
end

- (self) removeArgument(index)

Removes an argument identified by its index. This method does nothing if the argument cannot be found.

Parameters:

  • index (Fixnum)
    the argument index

Returns:

  • (self)


240
241
242
243
244
245
246
247
248
249
250
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 240

def remove_argument(*args)
  if args[0].class == Fixnum && !block_given?
    @j_del.java_method(:removeArgument, [Java::int.java_class]).call(args[0])
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling remove_argument(#{args[0]})"
  end
end

- (self) removeOption(name)

Removes an option identified by its name. This method does nothing if the option cannot be found.

Parameters:

  • name (String)
    the option name

Returns:

  • (self)


197
198
199
200
201
202
203
204
205
206
207
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 197

def remove_option(*args)
  if args[0].class == String && !block_given?
    @j_del.java_method(:removeOption, [Java::java.lang.String.java_class]).call(args[0])
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling remove_option(#{args[0]})"
  end
end

- (self) setArguments(args)

Sets the list of arguments.

Parameters:

  • args (Array<Hash{String => Object}>)
    the list of arguments, must not be null

Returns:

  • (self)


298
299
300
301
302
303
304
305
306
307
308
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 298

def set_arguments(*args)
  if args[0].class == Array && !block_given?
    @j_del.java_method(:setArguments, [Java::JavaUtil::List.java_class]).call(args[0].map { |element| Java::IoVertxCoreCli::Argument.new(::Vertx::Util::Utils.to_json_object(element)) })
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling set_arguments(#{args[0]})"
  end
end

- (self) setDescription(desc)

Parameters:

  • desc (String)

Returns:

  • (self)


151
152
153
154
155
156
157
158
159
160
161
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 151

def set_description(*args)
  if args[0].class == String && !block_given?
    @j_del.java_method(:setDescription, [Java::java.lang.String.java_class]).call(args[0])
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling set_description(#{args[0]})"
  end
end

- (self) setHidden(hidden)

Sets whether or not the current instance of Vertx::CLI must be hidden. Hidden CLI are not listed when displaying usages / help messages. In other words, hidden commands are for power user.

Parameters:

  • hidden (true, false)
    enables or disables the hidden aspect of the CI

Returns:

  • (self)


271
272
273
274
275
276
277
278
279
280
281
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 271

def set_hidden(*args)
  if (args[0].class == TrueClass || args[0].class == FalseClass) && !block_given?
    @j_del.java_method(:setHidden, [Java::boolean.java_class]).call(args[0])
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling set_hidden(#{args[0]})"
  end
end

- (self) setName(name)

Sets the name of the CLI.

Parameters:

  • name (String)
    the name

Returns:

  • (self)


50
51
52
53
54
55
56
57
58
59
60
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 50

def set_name(*args)
  if args[0].class == String && !block_given?
    @j_del.java_method(:setName, [Java::java.lang.String.java_class]).call(args[0])
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling set_name(#{args[0]})"
  end
end

- (self) setOptions(options)

Sets the list of arguments.

Parameters:

  • options (Array<Hash{String => Object}>)
    the list of options, must not be null

Returns:

  • (self)


326
327
328
329
330
331
332
333
334
335
336
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 326

def set_options(*args)
  if args[0].class == Array && !block_given?
    @j_del.java_method(:setOptions, [Java::JavaUtil::List.java_class]).call(args[0].map { |element| Java::IoVertxCoreCli::Option.new(::Vertx::Util::Utils.to_json_object(element)) })
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling set_options(#{args[0]})"
  end
end

- (self) setPriority(priority)

Sets the priority of the CLI.

Parameters:

  • priority (Fixnum)
    the priority

Returns:

  • (self)


368
369
370
371
372
373
374
375
376
377
378
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 368

def set_priority(*args)
  if args[0].class == Fixnum && !block_given?
    @j_del.java_method(:setPriority, [Java::int.java_class]).call(args[0])
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling set_priority(#{args[0]})"
  end
end

- (self) setSummary(summary)

Sets the summary of the CLI.

Parameters:

  • summary (String)
    the summary

Returns:

  • (self)


81
82
83
84
85
86
87
88
89
90
91
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 81

def set_summary(*args)
  if args[0].class == String && !block_given?
    @j_del.java_method(:setSummary, [Java::java.lang.String.java_class]).call(args[0])
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling set_summary(#{args[0]})"
  end
end