Class UriTemplateParser
java.lang.Object
org.glassfish.jersey.uri.internal.UriTemplateParser
- Direct Known Subclasses:
PathTemplate.PathTemplateParser
A URI template parser that parses JAX-RS specific URI templates.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) static final int[]
private static final String[]
private int
private final StringBuffer
private final StringBuffer
private int
private final Pattern
private final StringBuffer
private int
private final String
static final Pattern
Default URI template value regexp pattern. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate char
protected String
encodeLiteralCharacters
(String characters) Encode literal characters of a template.Get the capturing group counts for each template variable.final int[]
Get the group indexes to capturing groups.getNames()
Get the list of template names.Get the map of template names to patterns.final String
Get the normalized template.final int
Get the number of explicit regular expressions.final int
Get the number of literal characters.final int
Get the number of regular expression groupsfinal Pattern
Get the pattern.final String
Get the template.private static String[]
private void
private int
parseName
(CharacterIterator ci, int skipGroup) private String
private void
-
Field Details
-
EMPTY_INT_ARRAY
static final int[] EMPTY_INT_ARRAY -
RESERVED_REGEX_CHARACTERS
-
HEX_TO_UPPERCASE_REGEX
-
TEMPLATE_VALUE_PATTERN
Default URI template value regexp pattern. -
template
-
regex
-
normalizedTemplate
-
literalCharactersBuffer
-
pattern
-
names
-
groupCounts
-
nameToPattern
-
numOfExplicitRegexes
private int numOfExplicitRegexes -
skipGroup
private int skipGroup -
literalCharacters
private int literalCharacters
-
-
Constructor Details
-
UriTemplateParser
Parse a template.- Parameters:
template
- the template.- Throws:
IllegalArgumentException
- if the template is null, an empty string or does not conform to a JAX-RS URI template.
-
-
Method Details
-
initReserved
-
getTemplate
Get the template.- Returns:
- the template.
-
getPattern
Get the pattern.- Returns:
- the pattern.
-
getNormalizedTemplate
Get the normalized template.A normalized template is a template without any explicit regular expressions.
- Returns:
- the normalized template.
-
getNameToPattern
Get the map of template names to patterns.- Returns:
- the map of template names to patterns.
-
getNames
Get the list of template names.- Returns:
- the list of template names.
-
getGroupCounts
Get the capturing group counts for each template variable.- Returns:
- the capturing group counts.
-
getGroupIndexes
public final int[] getGroupIndexes()Get the group indexes to capturing groups.Any nested capturing groups will be ignored and the the group index will refer to the top-level capturing groups associated with the templates variables.
- Returns:
- the group indexes to capturing groups.
-
getNumberOfExplicitRegexes
public final int getNumberOfExplicitRegexes()Get the number of explicit regular expressions.- Returns:
- the number of explicit regular expressions.
-
getNumberOfRegexGroups
public final int getNumberOfRegexGroups()Get the number of regular expression groups- Returns:
- the number of regular expressions groups
- Since:
- 2.9
-
getNumberOfLiteralCharacters
public final int getNumberOfLiteralCharacters()Get the number of literal characters.- Returns:
- the number of literal characters.
-
encodeLiteralCharacters
Encode literal characters of a template.- Parameters:
characters
- the literal characters- Returns:
- the encoded literal characters.
-
parse
-
processLiteralCharacters
private void processLiteralCharacters() -
initHexToUpperCaseRegex
-
parseName
-
parseRegex
-
consumeWhiteSpace
-