gnu.util
Class Option
java.lang.Object
gnu.util.Option
- Direct Known Subclasses:
- Option
public class Option
- extends java.lang.Object
Primitive command-line option parsing.
Only long option is supported, for clarity and easy parsing. GNU long
option requires a equal sign "=" between the option name and option
value. No equal sign is required (allowed) here, for clarity and easy
parsing, again.
Usual approach to option parsing such as that in GNU
getopt
may not be the best in Java because Java does not
support pointer needed for uniform argument type and pass-by-reference.
Instead this library uses "explicit method call per option". By this
type checking can be strictly enforced and return value can be directly
assigned to the desired variable. No boxing of primitive types or
un-boxing of wrapper classes will take place. Moreover, instead of
combining arrays of option table, option can be specified in super
classes and subclasses easily. One caveat is that option values cannot
be used in initializations of class member variables because parsing
takes place outside constructors. For instance, Application
cannot initialize and create a window member
variable because parsing is not done yet and Display
may
not be initialized; a window can be created only after all parsings.
Constructor Summary |
Option(java.lang.String[] args)
|
Method Summary |
void |
about(java.lang.Object object,
java.lang.String version,
java.lang.String description,
java.lang.String author,
java.lang.String url,
java.lang.String usage,
java.lang.String extra)
Print "about" and list possible options. |
void |
add_spec(java.lang.String name,
java.lang.String type,
java.lang.String description,
java.lang.String default_value,
java.lang.String return_value)
|
boolean |
booleann(java.lang.String name,
java.lang.String description,
boolean default_value)
|
double |
doublee(java.lang.String name,
java.lang.String description,
double default_value)
|
int |
enum(java.lang.String name,
java.lang.String description,
java.lang.String[] enum_strings,
int default_value)
|
boolean |
flag(java.lang.String name,
java.lang.String description)
|
float |
floatt(java.lang.String name,
java.lang.String description,
float default_value)
|
float |
floatt(java.lang.String name,
java.lang.String description,
float default_value,
float low,
float high)
|
int |
intt(java.lang.String name,
java.lang.String description,
int default_value)
|
int |
intt(java.lang.String name,
java.lang.String description,
int default_value,
int low,
int high)
|
boolean |
invalid()
|
long |
longg(java.lang.String name,
java.lang.String description,
long default_value)
|
java.lang.String |
option(java.lang.String name)
|
float |
scale(java.lang.String name,
java.lang.String description,
float default_value)
|
java.lang.String |
string(java.lang.String name,
java.lang.String description,
java.lang.String default_value)
|
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
args
public java.lang.String[] args
noisy
public boolean noisy
spec
public java.lang.StringBuffer spec
invalid_names
public java.lang.StringBuffer invalid_names
valid_names
public java.util.Vector valid_names
Option
public Option(java.lang.String[] args)
about
public void about(java.lang.Object object,
java.lang.String version,
java.lang.String description,
java.lang.String author,
java.lang.String url,
java.lang.String usage,
java.lang.String extra)
- Print "about" and list possible options. This method
should be called only once after all options are specified.
Note that this package is under GNU Public License, and thus all
programs using this package MUST be under GNU Public License.
add_spec
public void add_spec(java.lang.String name,
java.lang.String type,
java.lang.String description,
java.lang.String default_value,
java.lang.String return_value)
booleann
public boolean booleann(java.lang.String name,
java.lang.String description,
boolean default_value)
doublee
public double doublee(java.lang.String name,
java.lang.String description,
double default_value)
enum
public int enum(java.lang.String name,
java.lang.String description,
java.lang.String[] enum_strings,
int default_value)
floatt
public float floatt(java.lang.String name,
java.lang.String description,
float default_value)
floatt
public float floatt(java.lang.String name,
java.lang.String description,
float default_value,
float low,
float high)
invalid
public boolean invalid()
intt
public int intt(java.lang.String name,
java.lang.String description,
int default_value)
intt
public int intt(java.lang.String name,
java.lang.String description,
int default_value,
int low,
int high)
longg
public long longg(java.lang.String name,
java.lang.String description,
long default_value)
option
public java.lang.String option(java.lang.String name)
flag
public boolean flag(java.lang.String name,
java.lang.String description)
scale
public float scale(java.lang.String name,
java.lang.String description,
float default_value)
string
public java.lang.String string(java.lang.String name,
java.lang.String description,
java.lang.String default_value)