Class UriPattern


  • public class UriPattern
    extends java.lang.Object
    A URI pattern for matching a URI against a regular expression and returning capturing group values for any capturing groups present in the expression.
    Author:
    Paul.Sandoz@Sun.Com
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static UriPattern EMPTY
      The empty URI pattern that matches the null or empty URI path
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected UriPattern()
      Construct an empty pattern.
        UriPattern​(java.lang.String regex)
      Construct a new URI pattern.
        UriPattern​(java.lang.String regex, int[] groupIndexes)
      Construct a new URI pattern.
        UriPattern​(java.util.regex.Pattern regexPattern)
      Construct a new URI pattern.
        UriPattern​(java.util.regex.Pattern regexPattern, int[] groupIndexes)
      Construct a new URI pattern.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object obj)  
      int[] getGroupIndexes()
      Get the group indexes.
      java.lang.String getRegex()
      Get the regular expression.
      int hashCode()  
      java.util.regex.MatchResult match​(java.lang.CharSequence uri)
      Match a URI against the pattern.
      boolean match​(java.lang.CharSequence uri, java.util.List<java.lang.String> groupValues)
      Match a URI against the pattern.
      boolean match​(java.lang.CharSequence uri, java.util.List<java.lang.String> groupNames, java.util.Map<java.lang.String,​java.lang.String> groupValues)
      Match a URI against the pattern.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • EMPTY

        public static final UriPattern EMPTY
        The empty URI pattern that matches the null or empty URI path
    • Constructor Detail

      • UriPattern

        protected UriPattern()
        Construct an empty pattern.
      • UriPattern

        public UriPattern​(java.lang.String regex)
        Construct a new URI pattern.
        Parameters:
        regex - the regular expression. If the expression is null or an empty string then the pattern will only match a null or empty URI path.
        Throws:
        java.util.regex.PatternSyntaxException - if the regular expression could not be compiled
      • UriPattern

        public UriPattern​(java.lang.String regex,
                          int[] groupIndexes)
        Construct a new URI pattern.
        Parameters:
        regex - the regular expression. If the expression is null or an empty string then the pattern will only match a null or empty URI path.
        groupIndexes - the array of group indexes to capturing groups.
        Throws:
        java.util.regex.PatternSyntaxException - if the regular expression could not be compiled
      • UriPattern

        public UriPattern​(java.util.regex.Pattern regexPattern)
        Construct a new URI pattern.
        Parameters:
        regexPattern - the regular expression pattern
        Throws:
        java.lang.IllegalArgumentException - if the regexPattern is null.
      • UriPattern

        public UriPattern​(java.util.regex.Pattern regexPattern,
                          int[] groupIndexes)
        Construct a new URI pattern.
        Parameters:
        regexPattern - the regular expression pattern
        groupIndexes - the array of group indexes to capturing groups.
        Throws:
        java.lang.IllegalArgumentException - if the regexPattern is null.
    • Method Detail

      • getRegex

        public final java.lang.String getRegex()
        Get the regular expression.
        Returns:
        the regular expression.
      • getGroupIndexes

        public final int[] getGroupIndexes()
        Get the group indexes.
        Returns:
        the group indexes.
      • match

        public final java.util.regex.MatchResult match​(java.lang.CharSequence uri)
        Match a URI against the pattern.
        Parameters:
        uri - the uri to match against the template.
        Returns:
        the match result, otherwise null if no match occurs.
      • match

        public final boolean match​(java.lang.CharSequence uri,
                                   java.util.List<java.lang.String> groupValues)
        Match a URI against the pattern.

        If the URI matches against the pattern then the capturing group values (if any) will be added to a list passed in as parameter.

        Parameters:
        uri - the uri to match against the template.
        groupValues - the list to add the values of a pattern's capturing groups if matching is successful. The values are added in the same order as the pattern's capturing groups. The list is cleared before values are added.
        Returns:
        true if the URI matches the pattern, otherwise false.
        Throws:
        java.lang.IllegalArgumentException - if the uri or capturingGroupValues is null.
      • match

        public final boolean match​(java.lang.CharSequence uri,
                                   java.util.List<java.lang.String> groupNames,
                                   java.util.Map<java.lang.String,​java.lang.String> groupValues)
        Match a URI against the pattern.

        If the URI matches against the pattern then the capturing group values (if any) will be added to a map passed in as parameter.

        Parameters:
        uri - the uri to match against the template.
        groupNames - the list names associated with a pattern's capturing groups. The names MUST be in the same order as the pattern's capturing groups and the size MUST be equal to or less than the number of capturing groups.
        groupValues - the map to add the values of a pattern's capturing groups if matching is successful. A values is put into the map using the group name associated with the capturing group. The map is cleared before values are added.
        Returns:
        true if the URI matches the pattern, otherwise false.
        Throws:
        java.lang.IllegalArgumentException - if the uri or capturingGroupValues is null.
      • hashCode

        public final int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public final boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • toString

        public final java.lang.String toString()
        Overrides:
        toString in class java.lang.Object