Class: Vertx::CLI
- Inherits:
-
Object
- Object
- Vertx::CLI
- 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)
- + (Boolean) accept?(obj)
-
+ (::Vertx::CLI) create(name)
Creates an instance of CLI using the default implementation.
- + (Object) j_api_type
- + (Object) j_class
- + (Object) unwrap(obj)
- + (Object) wrap(obj)
Instance Method Summary (collapse)
-
- (self) addArgument(arg)
Adds an argument.
-
- (self) addArguments(args)
Adds a set of arguments.
-
- (self) addOption(option)
Adds an option.
-
- (self) addOptions(options)
Adds a set of options.
-
- (Hash{String => Object}) get_argument(*args)
Gets an => Object} based on its index.
-
- (Array<Hash{String => Object}>) getArguments
Gets the list of defined arguments.
-
- (String) getDescription
The CLI description.
-
- (String) getName
The CLI name.
-
- (Hash{String => Object}) getOption(name)
Gets an => Object} based on its name (short name, long name or argument name).
-
- (Array<Hash{String => Object}>) getOptions
Gets the list of options.
-
- (Fixnum) getPriority
The CLI priority.
-
- (String) getSummary
The CLI summary.
-
- (true, false) isHidden
Checks whether or not the current CLI instance is hidden.
-
- (::Vertx::CommandLine) parse(*args)
Parses the user command line interface and create a new CommandLine containing extracting values.
-
- (self) removeArgument(index)
Removes an argument identified by its index.
-
- (self) removeOption(name)
Removes an option identified by its name.
-
- (self) setArguments(args)
Sets the list of arguments.
- - (self) setDescription(desc)
-
- (self) setHidden(hidden)
Sets whether or not the current instance of CLI must be hidden.
-
- (self) setName(name)
Sets the name of the CLI.
-
- (self) setOptions(options)
Sets the list of arguments.
-
- (self) setPriority(priority)
Sets the priority of the CLI.
-
- (self) setSummary(summary)
Sets the summary of the CLI.
Class Method Details
+ (Boolean) accept?(obj)
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.
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.
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.
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.
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.
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 (*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.
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.
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.
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.
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).
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.
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 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.
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.
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.
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.
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.
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.
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.
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)
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.
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.
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.
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 (*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.
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.
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 |