public class CommandLine
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
(package private) class |
CommandLine.Option |
Modifier and Type | Field and Description |
---|---|
(package private) static java.util.regex.Pattern |
ASSIGNMENT |
(package private) Justif |
justif |
(package private) static java.util.regex.Pattern |
LAST_PART |
(package private) static int |
LINELENGTH |
(package private) CommandLineMessages |
msg |
(package private) Reporter |
reporter |
private java.lang.Object |
result |
Constructor and Description |
---|
CommandLine(Reporter reporter) |
Modifier and Type | Method and Description |
---|---|
void |
assignOptionValue(java.util.Map<java.lang.String,java.lang.Object> options,
java.lang.reflect.Method m,
java.util.List<java.lang.String> args,
boolean last)
Assign an option, must handle flags, parameters, and parameters that can
happen multiple times.
|
java.lang.String |
execute(java.lang.Object target,
java.lang.String cmd,
java.util.List<java.lang.String> input)
Execute a command in a target object with a set of options and arguments
and returns help text if something fails.
|
void |
generateDocumentation(java.lang.Object target,
java.lang.Appendable out) |
java.util.Map<java.lang.String,java.lang.reflect.Method> |
getCommands(java.lang.Object target)
Parse a class and return a list of command names
|
private CommandLine.Option |
getOption(java.lang.String optionName,
java.lang.reflect.Method m) |
private java.util.Map<java.lang.String,java.lang.reflect.Method> |
getOptions(java.lang.Class<? extends Options> interf)
Answer a list of the options specified in an options interface
|
<T extends Options> |
getOptions(java.lang.Class<T> specification,
java.util.List<java.lang.String> arguments)
Parse the options in a command line and return an interface that provides
the options from this command line.
|
java.lang.Object |
getResult() |
private java.lang.String |
getSynopsis(java.lang.String cmd,
java.util.Map<java.lang.String,java.lang.reflect.Method> options,
Arguments patterns) |
private java.lang.String |
getTypeDescriptor(java.lang.reflect.Type type)
Show a type in a nice way
|
private void |
help(java.util.Formatter f,
java.lang.Class<? extends Options> specification,
java.lang.String title) |
void |
help(java.util.Formatter f,
java.lang.Object target)
Show all commands in a target
|
void |
help(java.util.Formatter f,
java.lang.Object target,
java.lang.String cmd)
Show the full help for a given command
|
void |
help(java.util.Formatter f,
java.lang.Object target,
java.lang.String cmd,
java.lang.Class<? extends Options> specification)
Provide a help text.
|
private java.lang.String |
help(java.lang.Object target,
java.lang.String cmd,
java.lang.Class<? extends Options> type) |
private boolean |
isMandatory(java.lang.reflect.Method m)
Answer if the method is marked mandatory
|
private boolean |
isOption(java.lang.reflect.Method m) |
private static java.lang.String |
lastPart(java.lang.String name) |
java.lang.String |
subCmd(Options opts,
java.lang.Object target) |
static int LINELENGTH
static java.util.regex.Pattern ASSIGNMENT
Reporter reporter
Justif justif
CommandLineMessages msg
private java.lang.Object result
static java.util.regex.Pattern LAST_PART
public CommandLine(Reporter reporter)
public java.lang.String execute(java.lang.Object target, java.lang.String cmd, java.util.List<java.lang.String> input) throws java.lang.Exception
java.lang.Exception
public void generateDocumentation(java.lang.Object target, java.lang.Appendable out)
private java.lang.String help(java.lang.Object target, java.lang.String cmd, java.lang.Class<? extends Options> type) throws java.lang.Exception
java.lang.Exception
public <T extends Options> T getOptions(java.lang.Class<T> specification, java.util.List<java.lang.String> arguments) throws java.lang.Exception
java.lang.Exception
private java.util.Map<java.lang.String,java.lang.reflect.Method> getOptions(java.lang.Class<? extends Options> interf)
public void assignOptionValue(java.util.Map<java.lang.String,java.lang.Object> options, java.lang.reflect.Method m, java.util.List<java.lang.String> args, boolean last)
options
- The command line mapargs
- the args inputm
- the selected method for this optionlast
- if this is the last in a multi single character optionpublic void help(java.util.Formatter f, java.lang.Object target, java.lang.String cmd, java.lang.Class<? extends Options> specification)
private void help(java.util.Formatter f, java.lang.Class<? extends Options> specification, java.lang.String title)
private CommandLine.Option getOption(java.lang.String optionName, java.lang.reflect.Method m)
private java.lang.String getSynopsis(java.lang.String cmd, java.util.Map<java.lang.String,java.lang.reflect.Method> options, Arguments patterns)
private static java.lang.String lastPart(java.lang.String name)
public void help(java.util.Formatter f, java.lang.Object target) throws java.lang.Exception
java.lang.Exception
public void help(java.util.Formatter f, java.lang.Object target, java.lang.String cmd)
public java.util.Map<java.lang.String,java.lang.reflect.Method> getCommands(java.lang.Object target)
target
- private boolean isMandatory(java.lang.reflect.Method m)
private boolean isOption(java.lang.reflect.Method m)
m
- private java.lang.String getTypeDescriptor(java.lang.reflect.Type type)
public java.lang.Object getResult()
public java.lang.String subCmd(Options opts, java.lang.Object target) throws java.lang.Exception
java.lang.Exception