Package org.springframework.batch.support

# Class PatternMatcher<S>

java.lang.Object
org.springframework.batch.support.PatternMatcher<S>

public class PatternMatcher<S> extends Object

Author:
  Dave Syer, Dan Garrette, Marten Deinum

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PatternMatcher(Map<String,S> map)`
  Initialize a new `PatternMatcher` with a map of patterns to values

- ## Method Summary

  Modifier and Type
  Method
  Description
  `S`
  `match(String line)`
  This method takes a String key and a map from Strings to values of any type.
  `static boolean`
  `match(String pattern, String str)`
  Lifted from AntPathMatcher in Spring Core.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### PatternMatcher

    public PatternMatcher(Map<String,S> map)
    Initialize a new `PatternMatcher` with a map of patterns to values
    Parameters:
      `map` - a map from String patterns to values

- ## Method Details

  - ### match

    public static boolean match(String pattern, String str)
    Lifted from AntPathMatcher in Spring Core. Tests whether or not a string matches against a pattern. The pattern may contain two special characters:
    '*' means zero or more characters
    '?' means one and only one character
    Parameters:
      `pattern` - pattern to match against. Must not be `null`.
      `str` - string which must be matched against the pattern. Must not be `null`.
    Returns:
      `true` if the string matches against the pattern, or `false` otherwise.

  - ### match

    public S match(String line)

    This method takes a String key and a map from Strings to values of any type. During processing, the method will identify the most specific key in the map that matches the line. Once the correct is identified, its value is returned. Note that if the map contains the wildcard string "*" as a key, then it will serve as the "default" case, matching every line that does not match anything else.

    If no matching prefix is found, a `IllegalStateException` will be thrown.

    Null keys are not allowed in the map.

    Parameters:
      `line` - An input string
    Returns:
      the value whose prefix matches the given line