Class StringPattern


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

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

    • Constructor Detail

      • StringPattern

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

        public StringPattern​(@Nullable
                             java.lang.String pattern)
    • Method Detail

      • getMode

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

        public boolean matches​(java.lang.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​(java.lang.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,
                                      java.lang.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 java.lang.String toString()
        Overrides:
        toString in class java.lang.Object