Class OptionFormatter

java.lang.Object
org.apache.commons.cli.help.OptionFormatter

public final class OptionFormatter extends Object
The definition of how to display Option attributes.
Since:
1.10.0
  • Field Details

    • DEFAULT_OPTIONAL_DELIMITERS

      private static final String[] DEFAULT_OPTIONAL_DELIMITERS
      The default delimiters for optional arguments
    • DEFAULT_ARG_NAME_DELIMITERS

      private static final String[] DEFAULT_ARG_NAME_DELIMITERS
      The default delimiters for an argument name
    • DEFAULT_ARG_NAME

      public static final String DEFAULT_ARG_NAME
      The default argument name: "arg".
      See Also:
    • SIMPLE_DEPRECATED_FORMAT

      public static final Function<Option,String> SIMPLE_DEPRECATED_FORMAT
      A function to display a deprecated option with the "[Deprecated]" prefix.
    • COMPLEX_DEPRECATED_FORMAT

      public static final Function<Option,String> COMPLEX_DEPRECATED_FORMAT
      A function to display a deprecated option with a "Deprecated" prefix that displays all deprecation information.
    • NO_DEPRECATED_FORMAT

      public static final Function<Option,String> NO_DEPRECATED_FORMAT
      A function to display a deprecated option with the "[Deprecated]" prefix.
    • DEFAULT_SYNTAX_PREFIX

      public static final String DEFAULT_SYNTAX_PREFIX
      The string to display at the beginning of the usage statement: "usage: ".
      See Also:
    • DEFAULT_OPT_PREFIX

      public static final String DEFAULT_OPT_PREFIX
      Default prefix for short options: "-".
      See Also:
    • DEFAULT_LONG_OPT_PREFIX

      public static final String DEFAULT_LONG_OPT_PREFIX
      Default prefix for long options: "--".
      See Also:
    • DEFAULT_OPT_SEPARATOR

      public static final String DEFAULT_OPT_SEPARATOR
      The default separator between options: ", ".
      See Also:
    • DEFAULT_OPT_ARG_SEPARATOR

      public static final String DEFAULT_OPT_ARG_SEPARATOR
      The default separator between the opt and/or longOpt and the argument name: " ".
      See Also:
    • argNameDelimiters

      private final String[] argNameDelimiters
      The delimiters around argument names.
    • defaultArgName

      private final String defaultArgName
      The default argument name.
    • deprecatedFormatFunction

      private final Function<Option,String> deprecatedFormatFunction
      The function to display the deprecated option message.
    • longOptPrefix

      private final String longOptPrefix
      The prefix for the long option text.
    • optPrefix

      private final String optPrefix
      The prefix for the short option text.
    • optSeparator

      private final String optSeparator
      The separator between the options.
    • optArgSeparator

      private final String optArgSeparator
      the separator between the opt and/or longOpt and the argument name.
    • optionalDelimiters

      private final String[] optionalDelimiters
      The delimiters for optional Options.
    • syntaxFormatFunction

      private final BiFunction<OptionFormatter,Boolean,String> syntaxFormatFunction
      The method to convert an Option formatter into a syntax notation.
    • option

      private final Option option
      The Option being formatted.
  • Constructor Details

    • OptionFormatter

      private OptionFormatter(Option option, OptionFormatter.Builder builder)
      An OptionFormatter applies formatting options to various Option attributes for textual display.
      Parameters:
      option - the Option to apply formatting to.
      builder - The Builder that specifies the various formatting options.
  • Method Details

    • builder

      public static OptionFormatter.Builder builder()
      Creates a new builder.
      Returns:
      a new builder.
    • from

      public static OptionFormatter from(Option option)
      Construct the OptionFormatter from an Option using the default OptionFormatter.Builder.
      Parameters:
      option - the option to format.
      Returns:
      an OptionFormatter for the specified @{code option}.
    • getArgName

      public String getArgName()
      Gets the argument name wrapped in the argument name delimiters.
      • If option has no arguments an empty string is returned
      • If the argument name is not set the default argument name is used.
      Returns:
      The argument name wrapped in the argument name delimiters or an empty string.
    • getBothOpt

      public String getBothOpt()
      Gets both options separated by the specified option separator. Correctly handles the case where one option is not specified.
      Returns:
      The one or both of the short and/or long Opt with the associate prefixes.
    • getDescription

      public String getDescription()
      Gets the description for the option. This will include any deprecation notices if the deprecated format function has been set.
      Returns:
      The Description from the option or an empty string is no description was provided and the option is not deprecated.
    • getLongOpt

      public String getLongOpt()
      Gets the long Opt from the @{link Option} with the associate prefix.
      Returns:
      The long Opt from the @{link Option} with the associate prefix or an empty string.
    • getOpt

      public String getOpt()
      Gets the Opt from the @{link Option} with the associate prefix.
      Returns:
      The Opt from the @{link Option} with the associate prefix or an empty string.
    • getSince

      public String getSince()
      Gets the "since" value from the Option.
      Returns:
      The since valeu from the option or "--" if no since value was set.
    • isRequired

      public boolean isRequired()
      Gets the required flag from the enclosed Option.
      Returns:
      The required flag from the enclosed Option.
    • toOptional

      public String toOptional(String text)
      Wraps the provided text in the optional delimiters.
      Parameters:
      text - the text to wrap.
      Returns:
      The text wrapped in the optional delimiters or an eppty string of the text is null or an empty string.
    • toSyntaxOption

      public String toSyntaxOption()
      Gets the syntax format for this option.
      Returns:
      the syntax format for this option as specified by the syntaxFormatFunction.
    • toSyntaxOption

      public String toSyntaxOption(boolean isRequired)
      Gets the syntax format for this option.
      Parameters:
      isRequired - if true the options is printed as a required option, otherwise it is optional.
      Returns:
      the syntax format for this option as specified by the syntaxFormatFunction.