|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.kohsuke.args4j.CmdLineParser
public final class CmdLineParser
Command line argument parser.
Nested Class Summary | |
---|---|
private class |
CmdLineParser.CmdLineImpl
Essentially a pointer over a String array. |
Field Summary | |
---|---|
private java.util.List |
arguments
Non-option arguments that are parsed. |
private java.util.List |
options
Set of registered CmdLineOption s. |
private java.util.List |
readonlyArguments
Read-only view of arguments . |
Constructor Summary | |
---|---|
CmdLineParser()
|
Method Summary | |
---|---|
CmdLineOption |
addOption(CmdLineOption opt)
Adds a new option to the parser. |
void |
addOptionClass(java.lang.Object obj)
Adds all the CmdLineOption -derived fields on
this object. |
java.util.List |
getArguments()
Returns the list of non-option arguments. |
void |
parse(java.lang.String[] args)
Parse the arguments. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private final java.util.List options
CmdLineOption
s.
private final java.util.List arguments
private final java.util.List readonlyArguments
arguments
.
Constructor Detail |
---|
public CmdLineParser()
Method Detail |
---|
public CmdLineOption addOption(CmdLineOption opt)
opt
parameter.public void addOptionClass(java.lang.Object obj)
CmdLineOption
-derived fields on
this object.
This method uses Java reflection to the specified object,
and looks for fields whose types derive from CmdLineOption
.
All such fields are added through addOption(CmdLineOption)
method.
This method would be convenient if you have a class that
defines a bunch of CmdLineOption
s as its fields.
For example,
class MyMain { BooleanOption opt1 = ...; StringOption opt2 = ...; IntOption opt3 = ...; ... void doMain( String[] args ) { CmdLineParser parser = new CmdLineParser(); parser.addOptionClass(this); parser.parse(args); .... } }Note that because of the access modifier restriction, only public fields of a clss can be registered through this method.
java.lang.IllegalArgumentException
- If the specified object doesn't contain any
CmdLineOption
fields. Given the typical
use case, this is more likely to be a bug of the
caller, but I appreciate your input on this behavior.public void parse(java.lang.String[] args) throws CmdLineException
CmdLineException
public java.util.List getArguments()
For example, if this parser is being used by javac and the command line is like "-d x abc.java def.java -target 1.1", then this method will return ["abc.java","def.java"].
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |