Class OptionValidator

java.lang.Object
org.apache.commons.cli.OptionValidator

final class OptionValidator extends Object
Validates an Option string.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    (package private) static final char[]
    The array of additional characters allowed in the rest of the option but not in the first position
    (package private) static final char[]
    The array of additional characters allowed as the first character in the option but not in the rest of the option
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    private static boolean
    isValidChar(char c)
    Returns whether the specified character is a valid character.
    private static boolean
    isValidOpt(char c)
    Returns whether the specified character is a valid Option.
    private static boolean
    search(char[] chars, char c)
    Checks the char array for a matching char.
    (package private) static String
    validate(String option)
    Validates whether opt is a permissible Option shortOpt.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • ADDITIONAL_OPTION_CHARS

      static final char[] ADDITIONAL_OPTION_CHARS
      The array of additional characters allowed as the first character in the option but not in the rest of the option
    • ADDITIONAL_LONG_CHARS

      static final char[] ADDITIONAL_LONG_CHARS
      The array of additional characters allowed in the rest of the option but not in the first position
  • Constructor Details

    • OptionValidator

      OptionValidator()
  • Method Details

    • isValidChar

      private static boolean isValidChar(char c)
      Returns whether the specified character is a valid character. A character is valid if any of the following conditions are true:
      • it is a letter
      • it is a currency symbol (such as '$')
      • it is a connecting punctuation character (such as '_')
      • it is a digit
      • it is a numeric letter (such as a Roman numeral character)
      • it is a combining mark
      • it is a non-spacing mark
      • isIdentifierIgnorable returns true for the character
      • it is a hyphen/dash ('-')
      Parameters:
      c - the character to validate
      Returns:
      true if c is a valid character letter.
    • isValidOpt

      private static boolean isValidOpt(char c)
      Returns whether the specified character is a valid Option. A character is valid if any of the following conditions are true:
      • it is a letter
      • it is a currency symbol (such as '$')
      • it is a connecting punctuation character (such as '_')
      • it is a digit
      • it is a numeric letter (such as a Roman numeral character)
      • it is a combining mark
      • it is a non-spacing mark
      • isIdentifierIgnorable returns true for the character
      • it is a question mark or 'at' sign ('?' or '@')
      Parameters:
      c - the option to validate
      Returns:
      true if c is a letter, '?' or '@', otherwise false.
    • search

      private static boolean search(char[] chars, char c)
      Checks the char array for a matching char.
      Parameters:
      chars - the char array to search
      c - the char to look for.
      Returns:
      true if c was in ary, false otherwise.
    • validate

      static String validate(String option) throws IllegalArgumentException
      Validates whether opt is a permissible Option shortOpt. The rules that specify if the opt is valid are:
      • a single character opt that is either Chars.SP(special case), '?', '@' or a letter
      • a multi character opt that only contains valid characters

      A character is valid if any of the following conditions are true:

      • it is a letter
      • it is a currency symbol (such as '$')
      • it is a connecting punctuation character (such as '_')
      • it is a digit
      • it is a numeric letter (such as a Roman numeral character)
      • it is a combining mark
      • it is a non-spacing mark
      • isIdentifierIgnorable returns true for the character
      • it is a hyphen/dash ('-')

      In case opt is null no further validation is performed.

      Parameters:
      option - The option string to validate, may be null
      Throws:
      IllegalArgumentException - if the Option is not valid.