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