Package org.atmosphere.util.uri
Class UriPattern
- java.lang.Object
-
- org.atmosphere.util.uri.UriPattern
-
public class UriPattern extends java.lang.ObjectA 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 UriPatternEMPTYThe empty URI pattern that matches the null or empty URI path
-
Constructor Summary
Constructors Modifier Constructor Description protectedUriPattern()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 booleanequals(java.lang.Object obj)int[]getGroupIndexes()Get the group indexes.java.lang.StringgetRegex()Get the regular expression.inthashCode()java.util.regex.MatchResultmatch(java.lang.CharSequence uri)Match a URI against the pattern.booleanmatch(java.lang.CharSequence uri, java.util.List<java.lang.String> groupValues)Match a URI against the pattern.booleanmatch(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.StringtoString()
-
-
-
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 patterngroupIndexes- 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:
hashCodein classjava.lang.Object
-
equals
public final boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
toString
public final java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-