An option with an array as parameter

myprog -optA arg1 -optA arg2 is giving an Array ["arg1", "arg2"]

Introduced properties

init init(help: String, names: String...)

opts :: OptionArray :: init

Init a new OptionArray with a help message and names.

Redefined properties

redef type SELF: OptionArray

opts $ OptionArray :: SELF

Type of this instance, automatically specialized in every class
redef type VALUE: Array[String]

opts $ OptionArray :: VALUE

Type of the value of the option
redef fun convert(str: String): VALUE

opts $ OptionArray :: convert

Convert str to a value of type VALUE.

All properties

fun !=(other: nullable Object): Bool

core :: Object :: !=

Have self and other different values?
fun ==(other: nullable Object): Bool

core :: Object :: ==

Have self and other the same value?
type CLASS: Class[SELF]

core :: Object :: CLASS

The type of the class of self.
type SELF: Object

core :: Object :: SELF

Type of this instance, automatically specialized in every class
type VALUE: nullable Object

opts :: Option :: VALUE

Type of the value of the option
fun add_aliases(names: String...)

opts :: Option :: add_aliases

Add new aliases for this option
protected fun class_factory(name: String): CLASS

core :: Object :: class_factory

Implementation used by get_class to create the specific class.
fun class_name: String

core :: Object :: class_name

The class name of the object.
protected abstract fun convert(str: String): VALUE

opts :: OptionParameter :: convert

Convert str to a value of type VALUE.
fun default_value: VALUE

opts :: Option :: default_value

Default value of this option
fun default_value=(default_value: VALUE)

opts :: Option :: default_value=

Default value of this option
fun errors: Array[String]

opts :: Option :: errors

Gathering errors during parsing
protected fun errors=(errors: Array[String])

opts :: Option :: errors=

Gathering errors during parsing
fun get_class: CLASS

core :: Object :: get_class

The meta-object representing the dynamic type of self.
fun hash: Int

core :: Object :: hash

The hash code of the object.
fun helptext: String

opts :: Option :: helptext

Human readable description of the option
protected fun helptext=(helptext: String)

opts :: Option :: helptext=

Human readable description of the option
fun hidden: Bool

opts :: Option :: hidden

Is this option hidden from usage?
fun hidden=(hidden: Bool)

opts :: Option :: hidden=

Is this option hidden from usage?
init init(help: String, names: String...)

opts :: OptionArray :: init

Init a new OptionArray with a help message and names.
init init

core :: Object :: init

init init(help: String, default: VALUE, names: nullable Array[String])

opts :: Option :: init

Create a new option
fun init_opt(help: String, default: VALUE, names: nullable Array[String])

opts :: Option :: init_opt

Init option helptext, default_value and names.
fun inspect: String

core :: Object :: inspect

Developer readable representation of self.
protected fun inspect_head: String

core :: Object :: inspect_head

Return "CLASSNAME:#OBJECTID".
intern fun is_same_instance(other: nullable Object): Bool

core :: Object :: is_same_instance

Return true if self and other are the same instance (i.e. same identity).
fun is_same_serialized(other: nullable Object): Bool

core :: Object :: is_same_serialized

Is self the same as other in a serialization context?
intern fun is_same_type(other: Object): Bool

core :: Object :: is_same_type

Return true if self and other have the same dynamic type.
fun mandatory: Bool

opts :: Option :: mandatory

Is this option mandatory?
fun mandatory=(mandatory: Bool)

opts :: Option :: mandatory=

Is this option mandatory?
fun names: Array[String]

opts :: Option :: names

Names for the option (including long and short ones)
protected fun names=(names: Array[String])

opts :: Option :: names=

Names for the option (including long and short ones)
intern fun object_id: Int

core :: Object :: object_id

An internal hash code for the object based on its identity.
fun output

core :: Object :: output

Display self on stdout (debug only).
intern fun output_class_name

core :: Object :: output_class_name

Display class name on stdout (debug only).
fun parameter_mandatory: Bool

opts :: OptionParameter :: parameter_mandatory

Is the parameter mandatory?
fun parameter_mandatory=(parameter_mandatory: Bool)

opts :: OptionParameter :: parameter_mandatory=

Is the parameter mandatory?
fun pretty(off: Int): String

opts :: Option :: pretty

A pretty print for this help
fun pretty_default: String

opts :: Option :: pretty_default

Pretty print the default value.
fun read: Bool

opts :: Option :: read

Has this option been read?
fun read=(read: Bool)

opts :: Option :: read=

Has this option been read?
protected fun read_param(opts: OptionContext, it: Iterator[String])

opts :: Option :: read_param

Consume parameters for this option
fun serialization_hash: Int

core :: Object :: serialization_hash

Hash value use for serialization
intern fun sys: Sys

core :: Object :: sys

Return the global sys object, the only instance of the Sys class.
abstract fun to_jvalue(env: JniEnv): JValue

core :: Object :: to_jvalue

fun to_s: String

core :: Object :: to_s

User readable representation of self.
fun value: VALUE

opts :: Option :: value

Current value of this option
fun value=(value: VALUE)

opts :: Option :: value=

Current value of this option
package_diagram opts::OptionArray OptionArray opts::OptionParameter OptionParameter opts::OptionArray->opts::OptionParameter opts::Option Option opts::OptionParameter->opts::Option ...opts::Option ... ...opts::Option->opts::Option

Ancestors

interface Object

core :: Object

The root of the class hierarchy.
abstract class Option

opts :: Option

Super class of all option's class

Parents

abstract class OptionParameter

opts :: OptionParameter

Option with one parameter (mandatory by default)

Class definitions

opts $ OptionArray
# An option with an array as parameter
# `myprog -optA arg1 -optA arg2` is giving an Array `["arg1", "arg2"]`
class OptionArray
	super OptionParameter
	redef type VALUE: Array[String]

	# Init a new OptionArray with a `help` message and `names`.
	init(help: String, names: String...) is old_style_init do
		values = new Array[String]
		super(help, values, names)
	end

	private var values: Array[String]
	redef fun convert(str)
	do
		values.add(str)
		return values
	end
end
lib/opts/opts.nit:261,1--279,3