com.sun.jersey.api.uri
Class UriPattern

java.lang.Object
  extended by 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:
[email protected]

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 © 2011 Oracle Corporation. All Rights Reserved.