## com.sun.jersey.api.uri
Class UriPattern

    java.lang.Object
      com.sun.jersey.api.uri.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
`static UriPattern` `EMPTY` The empty URI pattern that matches the null or empty URI path

Constructor Summary
`protected` `UriPattern()` Construct an empty 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.
`` `UriPattern(java.lang.String regex)` Construct a new URI pattern.
`` `UriPattern(java.lang.String regex, int[] groupIndexes)` Construct a new URI pattern.

Method Summary
`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`

Copyright © 2017 Oracle Corporation. All Rights Reserved.