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
Hash, while argument are defined using Hash.
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 = nil)
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) add_argument(arg = nil)
Adds an argument.
-
- (self) add_arguments(args = nil)
Adds a set of arguments.
-
- (self) add_option(option = nil)
Adds an option.
-
- (self) add_options(options = nil)
Adds a set of options.
-
- (Hash) get_argument(param_1 = nil)
Gets an Hash based on its index.
-
- (Array<Hash>) get_arguments
Gets the list of defined arguments.
-
- (String) get_description
The CLI description.
-
- (String) get_name
The CLI name.
-
- (Hash) get_option(name = nil)
Gets an Hash based on its name (short name, long name or argument name).
-
- (Array<Hash>) get_options
Gets the list of options.
-
- (String) get_summary
The CLI summary.
-
- (true, false) hidden?
Checks whether or not the current CLI instance is hidden.
-
- (::Vertx::CommandLine) parse(arguments = nil, validate = nil)
Parses the user command line interface and create a new CommandLine containing extracting values.
-
- (self) remove_argument(index = nil)
Removes an argument identified by its index.
-
- (self) remove_option(name = nil)
Removes an option identified by its name.
-
- (self) set_arguments(args = nil)
Sets the list of arguments.
- - (self) set_description(desc = nil)
-
- (self) set_hidden(hidden = nil)
Sets whether or not the current instance of CLI must be hidden.
-
- (self) set_name(name = nil)
Sets the name of the CLI.
-
- (self) set_options(options = nil)
Sets the list of arguments.
-
- (self) set_summary(summary = nil)
Sets the summary of the CLI.
Class Method Details
+ (Boolean) accept?(obj)
30 31 32 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 30 def @@j_api_type.accept?(obj) obj.class == CLI end |
+ (::Vertx::CLI) create(name = nil)
Creates an instance of Vertx::CLI using the default implementation.
48 49 50 51 52 53 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 48 def self.create(name=nil) if name.class == String && !block_given? return ::Vertx::Util::Utils.safe_create(Java::IoVertxCoreCli::CLI.java_method(:create, [Java::java.lang.String.java_class]).call(name),::Vertx::CLI) end raise ArgumentError, "Invalid arguments when calling create(#{name})" end |
+ (Object) j_api_type
39 40 41 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 39 def self.j_api_type @@j_api_type end |
+ (Object) j_class
42 43 44 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 42 def self.j_class Java::IoVertxCoreCli::CLI.java_class end |
+ (Object) unwrap(obj)
36 37 38 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 36 def @@j_api_type.unwrap(obj) obj.j_del end |
+ (Object) wrap(obj)
33 34 35 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 33 def @@j_api_type.wrap(obj) CLI.new(obj) end |
Instance Method Details
- (self) add_argument(arg = nil)
Adds an argument.
185 186 187 188 189 190 191 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 185 def add_argument(arg=nil) if arg.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(arg))) return self end raise ArgumentError, "Invalid arguments when calling add_argument(#{arg})" end |
- (self) add_arguments(args = nil)
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.
196 197 198 199 200 201 202 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 196 def add_arguments(args=nil) if args.class == Array && !block_given? @j_del.java_method(:addArguments, [Java::JavaUtil::List.java_class]).call(args.map { |element| Java::IoVertxCoreCli::Argument.new(::Vertx::Util::Utils.to_json_object(element)) }) return self end raise ArgumentError, "Invalid arguments when calling add_arguments(#{args})" end |
- (self) add_option(option = nil)
Adds an option.
146 147 148 149 150 151 152 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 146 def add_option(option=nil) if option.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(option))) return self end raise ArgumentError, "Invalid arguments when calling add_option(#{option})" end |
- (self) add_options(options = nil)
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.
157 158 159 160 161 162 163 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 157 def (=nil) if .class == Array && !block_given? @j_del.java_method(:addOptions, [Java::JavaUtil::List.java_class]).call(.map { |element| Java::IoVertxCoreCli::Option.new(::Vertx::Util::Utils.to_json_object(element)) }) return self end raise ArgumentError, "Invalid arguments when calling add_options(#{})" end |
- (Hash) getArgument(name) - (Hash) getArgument(index)
Gets an Hash based on its index.
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 228 def get_argument(param_1=nil) if param_1.class == String && !block_given? return @j_del.java_method(:getArgument, [Java::java.lang.String.java_class]).call(param_1) != nil ? JSON.parse(@j_del.java_method(:getArgument, [Java::java.lang.String.java_class]).call(param_1).toJson.encode) : nil elsif param_1.class == Fixnum && !block_given? return @j_del.java_method(:getArgument, [Java::int.java_class]).call(param_1) != nil ? JSON.parse(@j_del.java_method(:getArgument, [Java::int.java_class]).call(param_1).toJson.encode) : nil end raise ArgumentError, "Invalid arguments when calling get_argument(#{param_1})" end |
- (Array<Hash>) get_arguments
Gets the list of defined arguments.
176 177 178 179 180 181 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 176 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 raise ArgumentError, "Invalid arguments when calling get_arguments()" end |
- (String) get_description
Returns the CLI description.
84 85 86 87 88 89 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 84 def get_description if !block_given? return @j_del.java_method(:getDescription, []).call() end raise ArgumentError, "Invalid arguments when calling get_description()" end |
- (String) get_name
Returns the CLI name.
67 68 69 70 71 72 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 67 def get_name if !block_given? return @j_del.java_method(:getName, []).call() end raise ArgumentError, "Invalid arguments when calling get_name()" end |
- (Hash) get_option(name = nil)
Gets an Hash based on its name (short name, long name or argument name).
216 217 218 219 220 221 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 216 def get_option(name=nil) if name.class == String && !block_given? return @j_del.java_method(:getOption, [Java::java.lang.String.java_class]).call(name) != nil ? JSON.parse(@j_del.java_method(:getOption, [Java::java.lang.String.java_class]).call(name).toJson.encode) : nil end raise ArgumentError, "Invalid arguments when calling get_option(#{name})" end |
- (Array<Hash>) get_options
Gets the list of options.
137 138 139 140 141 142 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 137 def if !block_given? return @j_del.java_method(:getOptions, []).call().to_a.map { |elt| elt != nil ? JSON.parse(elt.toJson.encode) : nil } end raise ArgumentError, "Invalid arguments when calling get_options()" end |
- (String) get_summary
Returns the CLI summary.
100 101 102 103 104 105 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 100 def get_summary if !block_given? return @j_del.java_method(:getSummary, []).call() end raise ArgumentError, "Invalid arguments when calling get_summary()" end |
- (true, false) hidden?
Checks whether or not the current Vertx::CLI instance is hidden.
118 119 120 121 122 123 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 118 def hidden? if !block_given? return @j_del.java_method(:isHidden, []).call() end raise ArgumentError, "Invalid arguments when calling hidden?()" end |
- (::Vertx::CommandLine) parse(arguments = nil, validate = nil)
Parses the user command line interface and create a new Vertx::CommandLine containing extracting values.
58 59 60 61 62 63 64 65 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 58 def parse(arguments=nil,validate=nil) if arguments.class == Array && !block_given? && validate == nil return ::Vertx::Util::Utils.safe_create(@j_del.java_method(:parse, [Java::JavaUtil::List.java_class]).call(arguments.map { |element| element }),::Vertx::CommandLine) elsif arguments.class == Array && (validate.class == TrueClass || validate.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(arguments.map { |element| element },validate),::Vertx::CommandLine) end raise ArgumentError, "Invalid arguments when calling parse(#{arguments},#{validate})" end |
- (self) remove_argument(index = nil)
Removes an argument identified by its index. This method does nothing if the argument cannot be found.
249 250 251 252 253 254 255 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 249 def remove_argument(index=nil) if index.class == Fixnum && !block_given? @j_del.java_method(:removeArgument, [Java::int.java_class]).call(index) return self end raise ArgumentError, "Invalid arguments when calling remove_argument(#{index})" end |
- (self) remove_option(name = nil)
Removes an option identified by its name. This method does nothing if the option cannot be found.
239 240 241 242 243 244 245 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 239 def remove_option(name=nil) if name.class == String && !block_given? @j_del.java_method(:removeOption, [Java::java.lang.String.java_class]).call(name) return self end raise ArgumentError, "Invalid arguments when calling remove_option(#{name})" end |
- (self) set_arguments(args = nil)
Sets the list of arguments.
206 207 208 209 210 211 212 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 206 def set_arguments(args=nil) if args.class == Array && !block_given? @j_del.java_method(:setArguments, [Java::JavaUtil::List.java_class]).call(args.map { |element| Java::IoVertxCoreCli::Argument.new(::Vertx::Util::Utils.to_json_object(element)) }) return self end raise ArgumentError, "Invalid arguments when calling set_arguments(#{args})" end |
- (self) set_description(desc = nil)
92 93 94 95 96 97 98 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 92 def set_description(desc=nil) if desc.class == String && !block_given? @j_del.java_method(:setDescription, [Java::java.lang.String.java_class]).call(desc) return self end raise ArgumentError, "Invalid arguments when calling set_description(#{desc})" end |
- (self) set_hidden(hidden = nil)
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.
128 129 130 131 132 133 134 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 128 def set_hidden(hidden=nil) if (hidden.class == TrueClass || hidden.class == FalseClass) && !block_given? @j_del.java_method(:setHidden, [Java::boolean.java_class]).call(hidden) return self end raise ArgumentError, "Invalid arguments when calling set_hidden(#{hidden})" end |
- (self) set_name(name = nil)
Sets the name of the CLI.
76 77 78 79 80 81 82 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 76 def set_name(name=nil) if name.class == String && !block_given? @j_del.java_method(:setName, [Java::java.lang.String.java_class]).call(name) return self end raise ArgumentError, "Invalid arguments when calling set_name(#{name})" end |
- (self) set_options(options = nil)
Sets the list of arguments.
167 168 169 170 171 172 173 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/cli.rb', line 167 def (=nil) if .class == Array && !block_given? @j_del.java_method(:setOptions, [Java::JavaUtil::List.java_class]).call(.map { |element| Java::IoVertxCoreCli::Option.new(::Vertx::Util::Utils.to_json_object(element)) }) return self end raise ArgumentError, "Invalid arguments when calling set_options(#{})" end |
- (self) set_summary(summary = nil)
Sets the summary of the CLI.
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 109 def set_summary(summary=nil) if summary.class == String && !block_given? @j_del.java_method(:setSummary, [Java::java.lang.String.java_class]).call(summary) return self end raise ArgumentError, "Invalid arguments when calling set_summary(#{summary})" end |