An option with an Int as parameter

Introduced properties

init defaultinit(help: String, default: Int, names: String...)

opts :: OptionInt :: defaultinit

Init a new OptionInt with a help message, a default value and names.

Redefined properties

redef type SELF: OptionInt

opts $ OptionInt :: SELF

Type of this instance, automatically specialized in every class
redef type VALUE: Int

opts $ OptionInt :: VALUE

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

opts $ OptionInt :: 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
init defaultinit(help: String, default: VALUE, names: nullable Array[String])

opts :: OptionParameter :: defaultinit

init defaultinit(help: String, default: Int, names: String...)

opts :: OptionInt :: defaultinit

Init a new OptionInt with a help message, a default value and names.
init defaultinit(help: String, default: VALUE, names: nullable Array[String])

opts :: Option :: defaultinit

Create a new 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

core :: Object :: init

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::OptionInt OptionInt opts::OptionParameter OptionParameter opts::OptionInt->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 $ OptionInt
# An option with an Int as parameter
class OptionInt
	super OptionParameter
	redef type VALUE: Int

	# Init a new OptionInt with a `help` message, a `default` value and `names`.
	init(help: String, default: Int, names: String...) is old_style_init do
		super(help, default, names)
	end

	redef fun convert(str)
	do
		if str.is_int then return str.to_i

		errors.add "Expected an integer for option {names.join(", ")}."
		return 0
	end
end
lib/opts/opts.nit:229,1--246,3