Class DefaultMatcher<TOption>

java.lang.Object
com.github.rvesse.airline.prompts.matchers.DefaultMatcher<TOption>
Type Parameters:
TOption - Option type
All Implemented Interfaces:
PromptOptionMatcher<TOption>
Direct Known Subclasses:
ExactMatcher, IgnoresCaseMatcher

public class DefaultMatcher<TOption> extends Object implements PromptOptionMatcher<TOption>
Default prompt option matcher

This matcher tries to find the most likely options using either exact matching or partial matching. It also allows for numeric option selection when the prompt has enabled that feature.

  • Constructor Details

    • DefaultMatcher

      public DefaultMatcher()
  • Method Details

    • match

      public TOption match(Prompt<TOption> prompt, String response) throws PromptException
      Description copied from interface: PromptOptionMatcher
      Matches the response to an option provided by the prompt
      Specified by:
      match in interface PromptOptionMatcher<TOption>
      Parameters:
      prompt - Prompt
      response - Response value that has been read from the prompt
      Returns:
      Matched option
      Throws:
      PromptException - Thrown if the response value does not match any option, or if the matcher is not compatible with the prompt
    • getExactMatcher

      protected org.apache.commons.collections4.Predicate<TOption> getExactMatcher(String response)
      Gets an exact matcher
      Parameters:
      response - User response to match options against
      Returns:
      Exact matcher
    • getExactOrPartialMatcher

      protected org.apache.commons.collections4.Predicate<TOption> getExactOrPartialMatcher(String response)
      Gets an exact or partial matcher
      Parameters:
      response - User response to match options against
      Returns:
      Exact or partial matcher