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
ThisCommandLinePropertySource
implementation aims to provide the simplest possible approach to parsing command line arguments. As with allCommandLinePropertySource
implementations, command line arguments are broken into two distinct groups: option arguments and non-option arguments, as described below (some sections copied from Javadoc forSimpleCommandLineArgsParser
):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 thegetNonOptionArgs()
method.Typical usage
public static void main(String[] args) { PropertySource ps = new SimpleCommandLinePropertySource(args); // ... }
SeeCommandLinePropertySource
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 ownCommandLinePropertySource
against the command line parsing library of your choice!- Since:
- 3.1
- Author:
- Chris Beams
- See Also:
-
CommandLinePropertySource
,JOptCommandLinePropertySource
-
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.core.env.PropertySource
PropertySource.StubPropertySource
Field Summary
Fields inherited from class org.springframework.core.env.CommandLinePropertySource
COMMAND_LINE_PROPERTY_SOURCE_NAME, DEFAULT_NON_OPTION_ARGS_PROPERTY_NAME
Fields inherited from class org.springframework.core.env.PropertySource
logger, name, source
Constructor Summary
Constructors Constructor and Description SimpleCommandLinePropertySource(String... args)
Create a newSimpleCommandLinePropertySource
having the default name and backed by the givenString[]
of command line arguments.SimpleCommandLinePropertySource(String name, String[] args)
Create a newSimpleCommandLinePropertySource
having the given name and backed by the givenString[]
of command line arguments.
Method Summary
Methods Modifier and Type Method and Description 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.Methods inherited from class org.springframework.core.env.CommandLinePropertySource
containsProperty, getProperty, setNonOptionArgsPropertyName
-
Constructor Detail
SimpleCommandLinePropertySource
public SimpleCommandLinePropertySource(String... args)
Create a newSimpleCommandLinePropertySource
having the default name and backed by the givenString[]
of command line arguments.
Method Detail
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 classCommandLinePropertySource<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 classCommandLinePropertySource<org.springframework.core.env.CommandLineArgs>
- if the option is present and has no argument (e.g.: "--foo"), return an empty collection (
getNonOptionArgs
protected List<String> getNonOptionArgs()
Description copied from class:CommandLinePropertySource
Return the collection of non-option arguments parsed from the command line. Nevernull
.- Specified by:
-
getNonOptionArgs
in classCommandLinePropertySource<org.springframework.core.env.CommandLineArgs>