Class DefaultParser.Builder

  • All Implemented Interfaces:
    java.util.function.Supplier<DefaultParser>
    Enclosing class:
    DefaultParser

    public static final class DefaultParser.Builder
    extends java.lang.Object
    implements java.util.function.Supplier<DefaultParser>
    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:

        
         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 instance.
        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 instance.
        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 instance.
        Since:
        1.5.0