|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.kohsuke.args4j.CmdLineParser
public class CmdLineParser
Command line argument owner.
For a typical usage, see this example.
| Constructor Summary | |
|---|---|
CmdLineParser(Object bean)
Creates a new command line owner that parses arguments/options and set them into the given object. |
|
| Method Summary | |
|---|---|
void |
addArgument(Setter setter,
Argument a)
Programmatically defines an argument (instead of reading it from annotations like you normally do.) |
void |
addOption(Setter setter,
Option o)
Programmatically defines an option (instead of reading it from annotations like you normally do.) |
protected OptionHandler |
createOptionHandler(OptionDef o,
Setter setter)
Creates an OptionHandler that handles the given Option annotation
and the Setter instance. |
List<OptionHandler> |
getArguments()
|
protected boolean |
isOption(String arg)
Returns true if the given token is an option (as opposed to an argument.) |
void |
parseArgument(Collection<String> args)
Same as parseArgument(String[]) |
void |
parseArgument(String... args)
Parses the command line arguments and set them to the option bean given in the constructor. |
String |
printExample(ExampleMode mode)
Formats a command line example into a string. |
String |
printExample(ExampleMode mode,
ResourceBundle rb)
Formats a command line example into a string. |
void |
printSingleLineUsage(OutputStream out)
Prints a single-line usage to the screen. |
void |
printSingleLineUsage(Writer w,
ResourceBundle rb)
Prints a single-line usage to the screen. |
void |
printUsage(OutputStream out)
Prints the list of options and their usages to the screen. |
void |
printUsage(Writer out,
ResourceBundle rb)
Prints the list of options and their usages to the screen. |
static void |
registerHandler(Class valueType,
Class<? extends OptionHandler> handlerClass)
Registers a user-defined OptionHandler class with args4j. |
void |
setUsageWidth(int usageWidth)
|
void |
stopOptionParsing()
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public CmdLineParser(Object bean)
bean - instance of a class annotated by Option and Argument.
this object will receive values. If this is null, the processing will
be skipped, which is useful if you'd like to feed metadata from other sources.
IllegalAnnotationError - if the option bean class is using args4j annotations incorrectly.| Method Detail |
|---|
public void addArgument(Setter setter,
Argument a)
setter - the setter for the typea - the Argument
public void addOption(Setter setter,
Option o)
setter - the setter for the typeo - the Optionpublic List<OptionHandler> getArguments()
protected OptionHandler createOptionHandler(OptionDef o,
Setter setter)
OptionHandler that handles the given Option annotation
and the Setter instance.
public String printExample(ExampleMode mode)
printExample(ExampleMode, ResourceBundle) for more details.
mode - must not be null.
public String printExample(ExampleMode mode,
ResourceBundle rb)
This method produces a string like " -d <dir> -v -b", which is useful for printing a command line example, perhaps as a part of the usage screen.
mode - One of the ExampleMode constants. Must not be null.
This determines what option should be a part of the returned string.rb - If non-null, meta variables (<dir> in the above example)
is treated as a key to this resource bundle, and the associated
value is printed. See Option.metaVar(). This is to support
localization.
Passing null would print Option.metaVar() directly.
System.err.println("java -jar my.jar"+parser.printExample(REQUIRED)+" arg1 arg2");public void printUsage(OutputStream out)
This is a convenience method for calling printUsage(new OutputStreamWriter(out),null)
so that you can do printUsage(System.err).
public void printUsage(Writer out,
ResourceBundle rb)
rb - if this is non-null, Option.usage() is treated
as a key to obtain the actual message from this resource bundle.
public void parseArgument(Collection<String> args)
throws CmdLineException
parseArgument(String[])
CmdLineException
public void parseArgument(String... args)
throws CmdLineException
args - arguments to parse
CmdLineException - if there's any error parsing arguments, or if
required option was not given.protected boolean isOption(String arg)
public static void registerHandler(Class valueType,
Class<? extends OptionHandler> handlerClass)
OptionHandler class with args4j.
This method allows users to extend the behavior of args4j by writing
their own OptionHandler implementation.
valueType - The specified handler is used when the field/method annotated by Option
is of this type.handlerClass - This class must have the constructor that has the same signature as
OptionHandler.OptionHandler(CmdLineParser, OptionDef, Setter)public void setUsageWidth(int usageWidth)
public void stopOptionParsing()
public void printSingleLineUsage(OutputStream out)
This is a convenience method for calling printUsage(new OutputStreamWriter(out),null)
so that you can do printUsage(System.err).
public void printSingleLineUsage(Writer w,
ResourceBundle rb)
rb - if this is non-null, Option.usage() is treated
as a key to obtain the actual message from this resource bundle.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||