Class DefaultParser.Builder

  • Enclosing class:
    DefaultParser

    public static final class DefaultParser.Builder
    extends java.lang.Object
    A nested builder class to create DefaultParser instances using descriptive methods. Example usage:
     DefaultParser parser = Option.builder()
         .setAllowPartialMatching(false)
         .setStripLeadingAndTrailingQuotes(false)
         .build();
     
    Since:
    1.5.0
    • Field Detail

      • allowPartialMatching

        private boolean allowPartialMatching
        Flag indicating if partial matching of long options is supported.
      • deprecatedHandler

        private java.util.function.Consumer<Option> deprecatedHandler
        The deprecated option handler.

        If you want to serialize this field, use a serialization proxy.

      • stripLeadingAndTrailingQuotes

        private java.lang.Boolean stripLeadingAndTrailingQuotes
        Flag indicating if balanced leading and trailing double quotes should be stripped from option arguments.
    • Constructor Detail

      • Builder

        private Builder()
        Constructs a new Builder for a DefaultParser instance. Both allowPartialMatching and stripLeadingAndTrailingQuotes are true by default, mimicking the argument-less constructor.
    • Method Detail

      • setAllowPartialMatching

        public DefaultParser.Builder setAllowPartialMatching​(boolean allowPartialMatching)
        Sets if partial matching of long options is supported. By "partial matching" we mean that given the following code:
         {
             @code
             final Options options = new Options();
             options.addOption(new Option("d", "debug", false, "Turn on debug."));
             options.addOption(new Option("e", "extract", false, "Turn on extract."));
             options.addOption(new Option("o", "option", true, "Turn on option with argument."));
         }
         
        If "partial matching" is turned on, -de only matches the "debug" option. However, with "partial matching" disabled, -de would enable both debug as well as extract
        Parameters:
        allowPartialMatching - whether to allow partial matching of long options
        Returns:
        this builder, to allow method chaining
        Since:
        1.5.0
      • setDeprecatedHandler

        public DefaultParser.Builder setDeprecatedHandler​(java.util.function.Consumer<Option> deprecatedHandler)
        Sets the deprecated option handler.
        Parameters:
        deprecatedHandler - the deprecated option handler.
        Returns:
        this.
        Since:
        1.7.0
      • setStripLeadingAndTrailingQuotes

        public DefaultParser.Builder setStripLeadingAndTrailingQuotes​(java.lang.Boolean stripLeadingAndTrailingQuotes)
        Sets if balanced leading and trailing double quotes should be stripped from option arguments. If "stripping of balanced leading and trailing double quotes from option arguments" is true, the outermost balanced double quotes of option arguments values will be removed. For example, -o '"x"' getValue() will return x, instead of "x" If "stripping of balanced leading and trailing double quotes from option arguments" is null, then quotes will be stripped from option values separated by space from the option, but kept in other cases, which is the historic behavior.
        Parameters:
        stripLeadingAndTrailingQuotes - whether balanced leading and trailing double quotes should be stripped from option arguments.
        Returns:
        this builder, to allow method chaining
        Since:
        1.5.0