Package joptsimple

Interface OptionSpec<V>

  • Type Parameters:
    V - represents the type of the arguments this option accepts
    All Known Implementing Classes:
    AbstractOptionSpec, AlternativeLongOptionSpec, ArgumentAcceptingOptionSpec, NoArgumentOptionSpec, NonOptionArgumentSpec, OptionalArgumentOptionSpec, OptionSpecBuilder, RequiredArgumentOptionSpec

    public interface OptionSpec<V>
    Describes options that an option parser recognizes.

    Instances of this interface are returned by the "fluent interface" methods to allow retrieval of option arguments in a type-safe manner. Here's an example:

    
         OptionParser parser = new OptionParser();
         OptionSpec<Integer> count =
             parser.accepts( "count" ).withRequiredArg().ofType( Integer.class );
         OptionSet options = parser.parse( "--count", "2" );
         assert options.has( count );
         int countValue = options.valueOf( count );
         assert countValue == count.value( options );
         List<Integer> countValues = options.valuesOf( count );
         assert countValues.equals( count.values( options ) );
     
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      boolean isForHelp()
      Tells whether this option is designated as a "help" option.
      java.util.List<java.lang.String> options()  
      V value​(OptionSet detectedOptions)
      Gives the argument associated with the given option in the given set of detected options.
      java.util.List<V> values​(OptionSet detectedOptions)
      Gives any arguments associated with the given option in the given set of detected options.
    • Method Detail

      • values

        java.util.List<V> values​(OptionSet detectedOptions)
        Gives any arguments associated with the given option in the given set of detected options.

        Specifying a default argument value for this option will cause this method to return that default value even if this option was not detected on the command line, or if this option can take an optional argument but did not have one on the command line.

        Parameters:
        detectedOptions - the detected options to search in
        Returns:
        the arguments associated with this option; an empty list if no such arguments are present, or if this option was not detected
        Throws:
        OptionException - if there is a problem converting this option's arguments to the desired type; for example, if the type does not implement a correct conversion constructor or method
        java.lang.NullPointerException - if detectedOptions is null
        See Also:
        OptionSet.valuesOf(OptionSpec)
      • value

        V value​(OptionSet detectedOptions)
        Gives the argument associated with the given option in the given set of detected options.

        Specifying a default argument value for this option will cause this method to return that default value even if this option was not detected on the command line, or if this option can take an optional argument but did not have one on the command line.

        Parameters:
        detectedOptions - the detected options to search in
        Returns:
        the argument of the this option; null if no argument is present, or that option was not detected
        Throws:
        OptionException - if more than one argument was detected for the option
        java.lang.NullPointerException - if detectedOptions is null
        java.lang.ClassCastException - if the arguments of this option are not of the expected type
        See Also:
        OptionSet.valueOf(OptionSpec)
      • options

        java.util.List<java.lang.String> options()
        Returns:
        the string representations of this option
      • isForHelp

        boolean isForHelp()
        Tells whether this option is designated as a "help" option. The presence of a "help" option on a command line means that missing "required" options will not cause parsing to fail.
        Returns:
        whether this option is designated as a "help" option