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
public class JOptCommandLinePropertySource extends CommandLinePropertySource<joptsimple.OptionSet>
CommandLinePropertySource
implementation backed by a JOptOptionSet
.Typical usage
Configure and execute anOptionParser
against theString[]
of arguments supplied to themain
method, and create aJOptCommandLinePropertySource
using the resultingOptionSet
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); // ... }
SeeCommandLinePropertySource
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
Constructors Constructor Description JOptCommandLinePropertySource(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
All Methods Instance Methods Concrete Methods Modifier and Type Method 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.List<String>
getOptionValues(String name)
Return the collection of values associated with the command line option having the given name.String[]
getPropertyNames()
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 Detail
JOptCommandLinePropertySource
public JOptCommandLinePropertySource(joptsimple.OptionSet options)
Create a newJOptCommandLinePropertySource
having the default name and backed by the givenOptionSet
.
JOptCommandLinePropertySource
public JOptCommandLinePropertySource(String name, joptsimple.OptionSet options)
Create a newJOptCommandLinePropertySource
having the given name and backed by the givenOptionSet
.
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<joptsimple.OptionSet>
getPropertyNames
public String[] 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
public 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<joptsimple.OptionSet>
- 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<joptsimple.OptionSet>