Package org.eclipse.jetty.http.pathmap
Class UriTemplatePathSpec
- java.lang.Object
-
- org.eclipse.jetty.http.pathmap.AbstractPathSpec
-
- org.eclipse.jetty.http.pathmap.UriTemplatePathSpec
-
public class UriTemplatePathSpec extends AbstractPathSpec
PathSpec for URI Template based declarations- See Also:
- URI Templates (Level 1)
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
_declaration
private PathSpecGroup
_group
private java.lang.String
_logicalDeclaration
The logical (simplified) declarationprivate int
_pathDepth
private java.util.regex.Pattern
_pattern
private int
_specLength
private java.lang.String[]
_variables
private static java.util.Set<java.lang.String>
FORBIDDEN_SEGMENTS
private static Logger
LOG
private static java.util.regex.Pattern
VARIABLE_PATTERN
private static java.lang.String
VARIABLE_RESERVED
Reserved Symbols in URI Template variableprivate static java.lang.String
VARIABLE_SYMBOLS
Allowed Symbols in a URI Template variable
-
Constructor Summary
Constructors Constructor Description UriTemplatePathSpec(java.lang.String rawSpec)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static void
assertIsValidVariableLiteral(java.lang.String variable, java.lang.String declaration)
Validate variable literal name, per RFC6570, Section 2.1 Literalsint
compareTo(PathSpec other)
java.lang.String
getDeclaration()
The as-provided path spec.PathSpecGroup
getGroup()
The spec group.protected java.util.regex.Matcher
getMatcher(java.lang.String path)
int
getPathDepth()
Get the number of path elements that this path spec declares.java.lang.String
getPathInfo(java.lang.String path)
Return the portion of the path that is after the path spec.java.lang.String
getPathMatch(java.lang.String path)
Return the portion of the path that matches a path spec.java.util.Map<java.lang.String,java.lang.String>
getPathParams(java.lang.String path)
java.util.regex.Pattern
getPattern()
java.lang.String
getPrefix()
A simple prefix match for the pathspec or nullint
getSpecLength()
The length of the spec.java.lang.String
getSuffix()
A simple suffix match for the pathspec or nullint
getVariableCount()
java.lang.String[]
getVariables()
private static boolean
isValidBasicLiteralCodepoint(int codepoint, java.lang.String declaration)
boolean
matches(java.lang.String path)
Test to see if the provided path matches this path spec-
Methods inherited from class org.eclipse.jetty.http.pathmap.AbstractPathSpec
equals, hashCode, toString
-
-
-
-
Field Detail
-
LOG
private static final Logger LOG
-
VARIABLE_PATTERN
private static final java.util.regex.Pattern VARIABLE_PATTERN
-
VARIABLE_RESERVED
private static final java.lang.String VARIABLE_RESERVED
Reserved Symbols in URI Template variable- See Also:
- Constant Field Values
-
VARIABLE_SYMBOLS
private static final java.lang.String VARIABLE_SYMBOLS
Allowed Symbols in a URI Template variable- See Also:
- Constant Field Values
-
FORBIDDEN_SEGMENTS
private static final java.util.Set<java.lang.String> FORBIDDEN_SEGMENTS
-
_declaration
private final java.lang.String _declaration
-
_group
private final PathSpecGroup _group
-
_pathDepth
private final int _pathDepth
-
_specLength
private final int _specLength
-
_pattern
private final java.util.regex.Pattern _pattern
-
_variables
private final java.lang.String[] _variables
-
_logicalDeclaration
private final java.lang.String _logicalDeclaration
The logical (simplified) declaration
-
-
Method Detail
-
assertIsValidVariableLiteral
private static void assertIsValidVariableLiteral(java.lang.String variable, java.lang.String declaration)
Validate variable literal name, per RFC6570, Section 2.1 Literals
-
isValidBasicLiteralCodepoint
private static boolean isValidBasicLiteralCodepoint(int codepoint, java.lang.String declaration)
-
compareTo
public int compareTo(PathSpec other)
- Specified by:
compareTo
in interfacejava.lang.Comparable<PathSpec>
- Overrides:
compareTo
in classAbstractPathSpec
-
getPathParams
public java.util.Map<java.lang.String,java.lang.String> getPathParams(java.lang.String path)
-
getMatcher
protected java.util.regex.Matcher getMatcher(java.lang.String path)
-
getSpecLength
public int getSpecLength()
Description copied from interface:PathSpec
The length of the spec.- Returns:
- the length of the spec.
-
getGroup
public PathSpecGroup getGroup()
Description copied from interface:PathSpec
The spec group.- Returns:
- the spec group.
-
getPathDepth
public int getPathDepth()
Description copied from interface:PathSpec
Get the number of path elements that this path spec declares.This is used to determine longest match logic.
- Returns:
- the depth of the path segments that this spec declares
-
getPathInfo
public java.lang.String getPathInfo(java.lang.String path)
Description copied from interface:PathSpec
Return the portion of the path that is after the path spec.- Parameters:
path
- the path to match against- Returns:
- the path info portion of the string
-
getPathMatch
public java.lang.String getPathMatch(java.lang.String path)
Description copied from interface:PathSpec
Return the portion of the path that matches a path spec.- Parameters:
path
- the path to match against- Returns:
- the match, or null if no match at all
-
getDeclaration
public java.lang.String getDeclaration()
Description copied from interface:PathSpec
The as-provided path spec.- Returns:
- the as-provided path spec
-
getPrefix
public java.lang.String getPrefix()
Description copied from interface:PathSpec
A simple prefix match for the pathspec or null- Returns:
- A simple prefix match for the pathspec or null
-
getSuffix
public java.lang.String getSuffix()
Description copied from interface:PathSpec
A simple suffix match for the pathspec or null- Returns:
- A simple suffix match for the pathspec or null
-
getPattern
public java.util.regex.Pattern getPattern()
-
matches
public boolean matches(java.lang.String path)
Description copied from interface:PathSpec
Test to see if the provided path matches this path spec- Parameters:
path
- the path to test- Returns:
- true if the path matches this path spec, false otherwise
-
getVariableCount
public int getVariableCount()
-
getVariables
public java.lang.String[] getVariables()
-
-