java.lang.Object
com.github.rvesse.airline.restrictions.AbstractCommonRestriction
com.github.rvesse.airline.restrictions.common.PatternRestriction
All Implemented Interfaces:
HelpHint, ArgumentsRestriction, OptionRestriction

public class PatternRestriction extends AbstractCommonRestriction implements HelpHint
A restriction which requires the raw values to match a given regular expression
  • Field Details

    • pattern

      private final Pattern pattern
    • description

      private final String description
  • Constructor Details

    • PatternRestriction

      public PatternRestriction(String pattern, int flags, String description)
      Creates a pattern restriction
      Parameters:
      pattern - Regular expression pattern
      flags - Regular expression flags
      description - Friendly description of the intent of the pattern, included in errors when the restriction is violated
  • Method Details

    • preValidate

      public <T> void preValidate(ParseState<T> state, OptionMetadata option, String value)
      Description copied from interface: OptionRestriction
      Method that is called before Airline attempts to convert a string argument received into a strongly typed Java value
      Specified by:
      preValidate in interface OptionRestriction
      Overrides:
      preValidate in class AbstractCommonRestriction
      Parameters:
      state - Parser state
      option - Option meta-data
      value - String value
    • preValidate

      public <T> void preValidate(ParseState<T> state, ArgumentsMetadata arguments, String value)
      Description copied from interface: ArgumentsRestriction
      Method that is called before Airline attempts to convert a string argument received into a strongly typed Java value
      Specified by:
      preValidate in interface ArgumentsRestriction
      Overrides:
      preValidate in class AbstractCommonRestriction
      Parameters:
      state - Parser state
      arguments - Arguments meta-data
      value - String value
    • getPreamble

      public String getPreamble()
      Description copied from interface: HelpHint
      Gets the preamble text that should be included
      Specified by:
      getPreamble in interface HelpHint
      Returns:
      Preamble text
    • getFormat

      public HelpFormat getFormat()
      Description copied from interface: HelpHint
      Gets the format of the provided help information
      Specified by:
      getFormat in interface HelpHint
      Returns:
      Help format
    • numContentBlocks

      public int numContentBlocks()
      Description copied from interface: HelpHint
      Gets the number of content blocks provided

      Help generators should consult the HelpHint.getFormat() return value to determine how to format the content blocks but they are not required to do so

      Specified by:
      numContentBlocks in interface HelpHint
      Returns:
      Number of content blocks
    • getContentBlock

      public String[] getContentBlock(int blockNumber)
      Description copied from interface: HelpHint
      Gets the content block with the given number
      Specified by:
      getContentBlock in interface HelpHint
      Parameters:
      blockNumber - Block number
      Returns:
      Content Block