Class StringPattern

java.lang.Object
org.codehaus.janino.util.StringPattern

public class StringPattern extends Object
Implementation of a UNIX shell-like string pattern algorithm.

Additionally, the concept of the "combined pattern" is supported (see matches(StringPattern[], String).

  • Field Details

  • Constructor Details

    • StringPattern

      public StringPattern(int mode, String pattern)
      Parameters:
      mode - INCLUDE or EXCLUDE
    • StringPattern

      public StringPattern(String pattern)
  • Method Details

    • getMode

      public int getMode()
    • matches

      public boolean matches(String text)
      Match the given text against the pattern represented by the current instance, as follows:
      • A * in the pattern matches any sequence of zero or more characters in the text
      • A ? in the pattern matches exactly one character in the text
      • Any other character in the pattern must appear exactly as it is in the text
      Notice: The mode flag of the current instance does not take any effect here.
    • parseCombinedPattern

      public static StringPattern[] parseCombinedPattern(String combinedPattern)
      Parse a "combined pattern" into an array of StringPatterns. A combined pattern string is structured as follows:
         combined-pattern :=
           [ '+' | '-' ] pattern
           { ( '+' | '-' ) pattern }
       
      If a pattern is preceeded with a '-', then the StringPattern is created with mode EXCLUDE, otherwise with mode INCLUDE.
    • matches

      public static boolean matches(StringPattern[] patterns, String text)
      Match a given text against an array of StringPatterns (which was typically created by parseCombinedPattern(String).

      The last matching pattern takes effect; if its mode is INCLUDE, then true is returned, if its mode is EXCLUDE, then false is returned.

      If patterns is PATTERNS_NONE, or empty, or none of its patterns matches, then false is returned.

      If patterns is PATTERNS_ALL, then true is returned.

      For backwards compatibility, null patterns are treated like PATTERNS_NONE.

    • toString

      public String toString()
      Overrides:
      toString in class Object