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

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:
  • Constructor Details

    • JOptCommandLinePropertySource

      public JOptCommandLinePropertySource(joptsimple.OptionSet options)
      Create a new JOptCommandLinePropertySource having the default name and backed by the given OptionSet.
      See Also:
    • JOptCommandLinePropertySource

      public JOptCommandLinePropertySource(String name, joptsimple.OptionSet options)
      Create a new JOptCommandLinePropertySource having the given name and backed by the given OptionSet.
  • Method Details

    • 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>
    • getPropertyNames

      public String[] getPropertyNames()
      Description copied from class: EnumerablePropertySource
      Return the names of all properties contained by the source object (never null).
      Specified by:
      getPropertyNames in class EnumerablePropertySource<joptsimple.OptionSet>
    • getOptionValues

      @Nullable 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>