Package org.springframework.core.env
Class JOptCommandLinePropertySource
java.lang.Object
org.springframework.core.env.PropertySource<T>
org.springframework.core.env.EnumerablePropertySource<T>
org.springframework.core.env.CommandLinePropertySource<joptsimple.OptionSet>
org.springframework.core.env.JOptCommandLinePropertySource
CommandLinePropertySource
implementation backed by a JOpt OptionSet
.
Typical usage
Configure and execute anOptionParser
against the String[]
of arguments
supplied to the main
method, and create a JOptCommandLinePropertySource
using the resulting OptionSet
object:
public static void main(String[] args) { OptionParser parser = new OptionParser(); parser.accepts("option1"); parser.accepts("option2").withRequiredArg(); OptionSet options = parser.parse(args); PropertySource<?> ps = new JOptCommandLinePropertySource(options); // ... }See
CommandLinePropertySource
for complete general usage examples.
Requires JOpt Simple version 4.3 or higher. Tested against JOpt up until 5.0.
- Since:
- 3.1
- Author:
- Chris Beams, Juergen Hoeller, Dave Syer
- See Also:
-
CommandLinePropertySource
OptionParser
OptionSet
-
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
ConstructorDescriptionJOptCommandLinePropertySource
(String name, joptsimple.OptionSet options) Create a newJOptCommandLinePropertySource
having the given name and backed by the givenOptionSet
.JOptCommandLinePropertySource
(joptsimple.OptionSet options) Create a newJOptCommandLinePropertySource
having the default name and backed by the givenOptionSet
. -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
containsOption
(String name) Return whether the set of option arguments parsed from the command line contains an option with the given name.Return the collection of non-option arguments parsed from the command line.getOptionValues
(String name) Return the collection of values associated with the command line option having the given name.String[]
Return the names of all properties contained by the source object (nevernull
).Methods inherited from class org.springframework.core.env.CommandLinePropertySource
containsProperty, getProperty, setNonOptionArgsPropertyName
-
Constructor Details
-
JOptCommandLinePropertySource
public JOptCommandLinePropertySource(joptsimple.OptionSet options) Create a newJOptCommandLinePropertySource
having the default name and backed by the givenOptionSet
. -
JOptCommandLinePropertySource
Create a newJOptCommandLinePropertySource
having the given name and backed by the givenOptionSet
.
-
-
Method Details
-
containsOption
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<joptsimple.OptionSet>
-
getPropertyNames
Description copied from class:EnumerablePropertySource
Return the names of all properties contained by the source object (nevernull
).- Specified by:
getPropertyNames
in classEnumerablePropertySource<joptsimple.OptionSet>
-
getOptionValues
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<joptsimple.OptionSet>
- if the option is present and has no argument (e.g.: "--foo"), return an empty
collection (
-
getNonOptionArgs
Description copied from class:CommandLinePropertySource
Return the collection of non-option arguments parsed from the command line. Nevernull
.- Specified by:
getNonOptionArgs
in classCommandLinePropertySource<joptsimple.OptionSet>
-