Class StringPattern

java.lang.Object
org.codehaus.commons.compiler.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

  • Method Details

    • getMode

      public int getMode()
      Returns:
      Whether this StringPattern represents inclusion (INCLUDE) or exclusion exclusion (EXCLUDE) of subjects
    • matches

      public boolean matches(String text)
      Matches 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)
      Parses 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)
      Matchs 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
    • wildmatch

      private static boolean wildmatch(@Nullable String pattern, String text)