org.das2.util.ArgumentList
Utility class for processing the String[] arguments passed into the main routine,
handing positional and switch parameters. Also automatically generates the
usage documentation.
Note in Autoplot's pngwalk, we add a parameter and positional argument with the
same name. This should continue to be supported.
FALSE
TRUE
addBooleanSwitchArgument
addBooleanSwitchArgument( String name, String abbrev, String key, String description ) → void
specify a named switch argument that is named, and we only care whether it was used or not. e.g. --debug
Parameters
name - the long parameter name, which the user may enter. e.g. "level"
abbrev - short (one letter) parameter version. e.g. "l" for -l=3
key - the internal reference name to get the value specified, not necessarily but often the same as name.
description - a short (40 character) description of the argument.
Returns:
void (returns nothing)
search for examples
view on GitHub
view source
addOptionalPositionArgument
addOptionalPositionArgument( int position, String key, String defaultValue, String description ) → void
Specify the ith positional argument, which may be left unspecified by
the user. Note that all positional arguments after this one must also be
optional.
Parameters
position - the position number, 0 is the first argument position after the class name.
key - the internal reference name to get the value specified.
defaultValue - the value that is returned if a value is not provided by the user.
description - a short (40 character) description of the argument.
Returns:
void (returns nothing)
search for examples
view on GitHub
view source
addOptionalSwitchArgument
addOptionalSwitchArgument( String name, String abbrev, String key, String defaultValue, String description ) → void
specify a named switch argument that may be specified by the user. For example, --level=3 or -l=3
Parameters
name - the long parameter name, which the user may enter. e.g. "level"
abbrev - short (one letter) parameter version. e.g. "l" for -l=3
defaultValue - value to return if the user doesn't specify. If TRUE or FALSE is used, then the
user may use a number of different inputs such as "T" or "true", and getBooleanValue can be used to read the value
key - the internal reference name to get the value specified, not necessarily but often the same as name.
description - a short (40 character) description of the argument.
Returns:
void (returns nothing)
search for examples
view on GitHub
view source
addPositionArgument
addPositionArgument( int position, String key, String description ) → void
Specify the ith positional argument.
Parameters
position - the position number, 0 is the first argument position after the class name.
key - the internal reference name to get the value specified.
description - a short (40 character) description of the argument.
Returns:
void (returns nothing)
search for examples
view on GitHub
view source
addSwitchArgument
addSwitchArgument( String name, String abbrev, String key, String description ) → void
specify a named switch argument that must be specified by the user. For example, --level=3 or -l=3
Parameters
name - the long parameter name, which the user may enter. e.g. "level"
abbrev - short (one letter) parameter version. e.g. "l" for -l=3
key - the internal reference name to get the value specified, not necessarily but often the same as name.
description - a short (40 character) description of the argument.
Returns:
void (returns nothing)
search for examples
view on GitHub
view source
getBooleanValue
getBooleanValue( String key ) → boolean
Returns:
boolean
search for examples
view on GitHub
view source
getExitCode
getExitCode( ) → int
return 0 if the exit code for a checkArgs()==false is 0 or non-zero.
It will be 0 if --help was used.
Returns:
the exit code.
search for examples
view on GitHub
view source
getMap
getMap( ) → Map
return a Map of all the specified values. The keys are all the internal
String keys, and the values are all Strings.
Returns:
a Map of the specified values, including defaults.
search for examples
view on GitHub
view source
getPreferences
getPreferences( ) → Preferences
returns the options as a java.util.prefs.Preferences object, for
batch processes. The idea is that a process which grabs default
settings from the user Preferences can instead get them from the command
line, to support batch processes. See the Vg1pws app for an example of
how this is used.
Returns:
a Preferences object, loaded with the command line values.
search for examples
view on GitHub
view source
logPrefsSettings
logPrefsSettings( java.util.logging.Logger logger ) → void
dump the configuration to the given logger at Level.CONFIG.
Parameters
logger -
Returns:
void (returns nothing)
search for examples
view on GitHub
view source
makeFileReferenceAbsolute
makeFileReferenceAbsolute( String ref ) → String
make a standard way to make file names absolute
Parameters
ref - e.g. files/afile/foo.txt
Returns:
/home/jbf/data/files/afile/foo.txt because PWD is /home/jbf/data
search for examples
view on GitHub
view source
printPrefsSettings
printPrefsSettings( ) → void
see Vg1pws app for example use.
Returns:
void (returns nothing)
search for examples
view on GitHub
view source
printUsage
printUsage( ) → void
print the usage statement out to stderr.
Returns:
void (returns nothing)
search for examples
view on GitHub
view source
process
process( java.lang.String[] args ) → boolean
given the specification, process the argument list. If the list is in error, the
usage statement is generated, and the System.exit is called (sorry!). Otherwise
the method returns and getValue() may be used to retrieve the values.
Again, note that System.exit may be called. This is probably a bad idea and another
method will probably be added that would return true if processing was successful.
Parameters
args - as in public static void main( String[] args ).
Returns:
false if System.exit should be called.
search for examples
view on GitHub
view source
requireOneOf
requireOneOf( java.lang.String[] keyNames ) → void
requires the user specify one of these values, otherwise the usage
statement is printed.
Parameters
keyNames - an array of internal key names that identify parameters.
Returns:
void (returns nothing)
search for examples
view on GitHub
view source