org.springframework.core.env
Class JOptCommandLinePropertySource

java.lang.Object
  extended by org.springframework.core.env.PropertySource<T>
      extended by org.springframework.core.env.CommandLinePropertySource<joptsimple.OptionSet>
          extended by 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

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
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.
 
Methods inherited from class org.springframework.core.env.CommandLinePropertySource
containsProperty, getProperty, setNonOptionArgsPropertyName
 
Methods inherited from class org.springframework.core.env.PropertySource
equals, getName, getSource, hashCode, named, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

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.

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 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.

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>