|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.snmp4j.util.ArgumentParser
public class ArgumentParser
The ArgumentParser
parsers a command line array into Java
objects and associates each object with the corresponding command line option
according to predefined schemes for options and parameters.
The format specification for options is:
[-<option>\[<type>[\<<regex>\>]{<parameter>[=<default>]}\]] ...where
The format specification for parameters is:
[-<parameter>[<type>[<<regex>>]{[=<default>]}]]... [+<optionalParameter>[<type>[<<regex>>]{[=<default>]}]]... [<..>]where
Nested Class Summary | |
---|---|
static class |
ArgumentParser.ArgumentFormat
|
static class |
ArgumentParser.ArgumentParameter
|
static class |
ArgumentParser.ArgumentParseException
|
Field Summary | |
---|---|
static int |
TYPE_INTEGER
|
static int |
TYPE_LONG
|
static int |
TYPE_OCTET_STRING
|
static int |
TYPE_STRING
|
static java.lang.String[] |
TYPES
|
Constructor Summary | |
---|---|
ArgumentParser(java.lang.String optionFormat,
java.lang.String parameterFormat)
Creates an argument parser with the specified option and parameter formats. |
Method Summary | |
---|---|
protected void |
addValues2Option(java.lang.String option,
java.util.List values,
java.util.Map options)
|
static java.lang.Object |
getFirstValue(java.util.List optionValues)
Gets the first option value of a list of values - if available. |
java.util.Map |
getOptionFormat()
|
java.util.Map |
getParameterFormat()
|
static java.lang.Object |
getValue(java.util.Map args,
java.lang.String name,
int index)
Gets the n -th option value of a list of values - if available. |
static void |
main(java.lang.String[] args)
Test application to try out patterns and command line parameters. |
java.util.Map |
parse(java.lang.String[] args)
Parses the given command line and returns a map of parameter/option names to a List of values. |
protected static java.util.Map |
parseFormat(java.lang.String format,
boolean parameterFormat)
|
protected java.lang.Object |
parseParameterValue(ArgumentParser.ArgumentParameter type,
java.lang.String value,
ArgumentParser.ArgumentFormat format,
int pos)
|
protected java.util.List |
parseValues(java.lang.String[] args,
int offset,
ArgumentParser.ArgumentFormat format)
|
static java.lang.String[] |
selectCommand(java.lang.String[] args,
java.lang.String optionFormat,
java.lang.String[][] commandSets)
Select a argument/parameter set from a given selection of sets by the command contained in the supplied argument list. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String[] TYPES
public static final int TYPE_INTEGER
public static final int TYPE_LONG
public static final int TYPE_STRING
public static final int TYPE_OCTET_STRING
Constructor Detail |
---|
public ArgumentParser(java.lang.String optionFormat, java.lang.String parameterFormat)
optionFormat
- the option format pattern to parse (see ArgumentParser
).parameterFormat
- the parameter format pattern to parse (see ArgumentParser
).Method Detail |
---|
public java.util.Map getOptionFormat()
public java.util.Map getParameterFormat()
protected static java.util.Map parseFormat(java.lang.String format, boolean parameterFormat)
public java.util.Map parse(java.lang.String[] args) throws java.text.ParseException
List
of values. Each value may be of type
Integer
, Long
, and String
.
args
- the command line argument list.
java.text.ParseException
- if the command line does not match the patterns for options and
parameters.protected void addValues2Option(java.lang.String option, java.util.List values, java.util.Map options)
protected java.util.List parseValues(java.lang.String[] args, int offset, ArgumentParser.ArgumentFormat format) throws java.text.ParseException
java.text.ParseException
protected java.lang.Object parseParameterValue(ArgumentParser.ArgumentParameter type, java.lang.String value, ArgumentParser.ArgumentFormat format, int pos) throws ArgumentParser.ArgumentParseException
ArgumentParser.ArgumentParseException
public static java.lang.Object getFirstValue(java.util.List optionValues)
optionValues
- a probably empty list of values - could be null
.
optionValues
if it exists,
null
otherwise.public static java.lang.Object getValue(java.util.Map args, java.lang.String name, int index)
n
-th option value of a list of values - if available.
args
- a parameter and options list.name
- the option or parameter name to returnindex
- the index (zero based) of the option/parameter value to return.
n
-th (zero based) option value in
args.get(name)
if it exists, null
otherwise.public static void main(java.lang.String[] args)
org.snmp4j.OptionFormat
and
org.snmp4j.ParameterFormat
respectively.
The given command line is parsed using the specified patterns and the parsed values are returned on the console output.
The default option pattern is -o1[i{parameter1}] -o2[s,l]
and the default parameter pattern is
-param1[i] -param2[s<(udp|tcp):.*[/[0-9]+]?>] +optParam1[l{=-100}] ..
args
- the command line arguments to match with the specified format patterns.public static java.lang.String[] selectCommand(java.lang.String[] args, java.lang.String optionFormat, java.lang.String[][] commandSets) throws java.text.ParseException
args
- the argument list to scan.optionFormat
- the option format which is common to all commands (or their super set)commandSets
- the possible command sets, where each set is identified by its command
string in the first element of the command set.
java.text.ParseException
- if the command found in args
cannot be found in the
commandSets
, or null
if args
does not contain any command.
|
Copyright 2005-2010 Frank Fock (SNMP4J.org) | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |