org.springframework.core.env
Class JOptCommandLinePropertySource
java.lang.Object
org.springframework.core.env.PropertySource<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 JOpt OptionSet
.
Typical usage
Configure and execute an OptionParser
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.
Requirements
Use of this class requires adding the jopt-simple JAR to your application classpath.
Versions 3.0 and better are supported.
- Since:
- 3.1
- Author:
- Chris Beams
- See Also:
CommandLinePropertySource
,
OptionParser
,
OptionSet
Constructor Summary |
JOptCommandLinePropertySource(joptsimple.OptionSet options)
Create a new JOptCommandLinePropertySource having the default name
and backed by the given OptionSet . |
JOptCommandLinePropertySource(String name,
joptsimple.OptionSet options)
Create a new JOptCommandLinePropertySource having the given name
and backed by the given OptionSet . |
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. |
List<String> |
getOptionValues(String name)
Return the collection of values associated with the command line option having the
given name. |
JOptCommandLinePropertySource
public JOptCommandLinePropertySource(joptsimple.OptionSet options)
- Create a new
JOptCommandLinePropertySource
having the default name
and backed by the given OptionSet
.
- See Also:
CommandLinePropertySource.COMMAND_LINE_PROPERTY_SOURCE_NAME
,
CommandLinePropertySource.CommandLinePropertySource(Object)
JOptCommandLinePropertySource
public JOptCommandLinePropertySource(String name,
joptsimple.OptionSet options)
- Create a new
JOptCommandLinePropertySource
having the given name
and backed by the given OptionSet
.
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<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 class CommandLinePropertySource<joptsimple.OptionSet>
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<joptsimple.OptionSet>