org.springframework.core.env
Class SimpleCommandLinePropertySource
java.lang.Object
org.springframework.core.env.PropertySource<T>
org.springframework.core.env.CommandLinePropertySource<org.springframework.core.env.CommandLineArgs>
org.springframework.core.env.SimpleCommandLinePropertySource
public class SimpleCommandLinePropertySource
- extends CommandLinePropertySource<org.springframework.core.env.CommandLineArgs>
CommandLinePropertySource
implementation backed by a simple String array.
Purpose
This CommandLinePropertySource
implementation aims to provide the simplest
possible approach to parsing command line arguments. As with all CommandLinePropertySource
implementations, command line arguments are broken into two
distinct groups: option arguments and non-option arguments, as
described below (some sections copied from Javadoc for SimpleCommandLineArgsParser
):
Working with option arguments
Option arguments must adhere to the exact syntax:
--optName[=optValue]
That is, options must be prefixed with "--
", and may or may not specify a value.
If a value is specified, the name and value must be separated without spaces
by an equals sign ("=").
Valid examples of option arguments
--foo
--foo=bar
--foo="bar then baz"
--foo=bar,baz,biz
Invalid examples of option arguments
-foo
--foo bar
--foo = bar
--foo=bar --foo=baz --foo=biz
Working with non-option arguments
Any and all arguments specified at the command line without the "--
" option
prefix will be considered as "non-option arguments" and made available through the
getNonOptionArgs()
method.
Typical usage
public static void main(String[] args) {
PropertySource> ps = new SimpleCommandLinePropertySource(args);
// ...
}
See CommandLinePropertySource
for complete general usage examples.
Beyond the basics
When more fully-featured command line parsing is necessary, consider using
the provided JOptCommandLinePropertySource
, or implement your own
CommandLinePropertySource
against the command line parsing library of your
choice!
- Since:
- 3.1
- Author:
- Chris Beams
- See Also:
CommandLinePropertySource
,
JOptCommandLinePropertySource
Method Summary |
protected boolean |
containsOption(String name)
Return whether the set of option arguments parsed from the command line contains
an option with the given name. |
protected List<String> |
getNonOptionArgs()
Return the collection of non-option arguments parsed from the command line. |
protected List<String> |
getOptionValues(String name)
Return the collection of values associated with the command line option having the
given name. |
SimpleCommandLinePropertySource
public SimpleCommandLinePropertySource(String... args)
- Create a new
SimpleCommandLinePropertySource
having the default name
and backed by the given String[]
of command line arguments.
- See Also:
CommandLinePropertySource.COMMAND_LINE_PROPERTY_SOURCE_NAME
,
CommandLinePropertySource.CommandLinePropertySource(Object)
SimpleCommandLinePropertySource
public SimpleCommandLinePropertySource(String name,
String[] args)
- Create a new
SimpleCommandLinePropertySource
having the given name
and backed by the given String[]
of command line arguments.
containsOption
protected boolean containsOption(String name)
- Description copied from class:
CommandLinePropertySource
- Return whether the set of option arguments parsed from the command line contains
an option with the given name.
- Specified by:
containsOption
in class CommandLinePropertySource<org.springframework.core.env.CommandLineArgs>
getOptionValues
protected List<String> getOptionValues(String name)
- Description copied from class:
CommandLinePropertySource
- Return the collection of values associated with the command line option having the
given name.
- if the option is present and has no argument (e.g.: "--foo"), return an empty
collection (
[]
)
- if the option is present and has a single value (e.g. "--foo=bar"), return a
collection having one element (
["bar"]
)
- if the option is present and the underlying command line parsing library
supports multiple arguments (e.g. "--foo=bar --foo=baz"), return a collection
having elements for each value (
["bar", "baz"]
)
- if the option is not present, return
null
- Specified by:
getOptionValues
in class CommandLinePropertySource<org.springframework.core.env.CommandLineArgs>
getNonOptionArgs
protected List<String> getNonOptionArgs()
- Description copied from class:
CommandLinePropertySource
- Return the collection of non-option arguments parsed from the command line. Never
null
.
- Specified by:
getNonOptionArgs
in class CommandLinePropertySource<org.springframework.core.env.CommandLineArgs>