org.springframework.util.PathMatcher |
Known Indirect Subclasses |
Strategy interface for String
-based path matching.
Used by PathMatchingResourcePatternResolver
,
AbstractUrlHandlerMapping
,
PropertiesMethodNameResolver
,
and WebContentInterceptor
.
The default implementation is AntPathMatcher
, supporting the
Ant-style pattern syntax.
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Combines two patterns into a new pattern that is returned.
| |||||||||||
Given a pattern and a full path, determine the pattern-mapped part.
| |||||||||||
Given a pattern and a full path, extract the URI template variables.
| |||||||||||
Given a full path, returns a
Comparator suitable for sorting patterns
in order of explicitness for that path. | |||||||||||
Does the given
path represent a pattern that can be matched
by an implementation of this interface?
If the return value is | |||||||||||
Match the given
path against the given pattern ,
according to this PathMatcher's matching strategy. | |||||||||||
Match the given
path against the corresponding part of the given
pattern , according to this PathMatcher's matching strategy. |
Combines two patterns into a new pattern that is returned.
The full algorithm used for combining the two pattern depends on the underlying implementation.
pattern1 | the first pattern |
---|---|
pattern2 | the second pattern |
IllegalArgumentException | when the two patterns cannot be combined |
---|
Given a pattern and a full path, determine the pattern-mapped part.
This method is supposed to find out which part of the path is matched dynamically through an actual pattern, that is, it strips off a statically defined leading path from the given full path, returning only the actually pattern-matched part of the path.
For example: For "myroot/*.html" as pattern and "myroot/myfile.html" as full path, this method should return "myfile.html". The detailed determination rules are specified to this PathMatcher's matching strategy.
A simple implementation may return the given full path as-is in case
of an actual pattern, and the empty String in case of the pattern not
containing any dynamic parts (i.e. the pattern
parameter being
a static path that wouldn't qualify as an actual pattern
).
A sophisticated implementation will differentiate between the static parts
and the dynamic parts of the given path pattern.
pattern | the path pattern |
---|---|
path | the full path to introspect |
path
(never null
)
Given a pattern and a full path, extract the URI template variables. URI template variables are expressed through curly brackets ('{' and '}').
For example: For pattern "/hotels/{hotel}" and path "/hotels/1", this method will return a map containing "hotel"->"1".
pattern | the path pattern, possibly containing URI templates |
---|---|
path | the full path to extract template variables from |
Given a full path, returns a Comparator
suitable for sorting patterns
in order of explicitness for that path.
The full algorithm used depends on the underlying implementation, but generally,
the returned Comparator
will
sort
a list so that more specific patterns come before generic patterns.
path | the full path to use for comparison |
---|
Does the given path
represent a pattern that can be matched
by an implementation of this interface?
If the return value is false
, then the match(String, String)
method does not have to be used because direct equality comparisons
on the static path Strings will lead to the same result.
path | the path String to check |
---|
true
if the given path
represents a pattern
Match the given path
against the given pattern
,
according to this PathMatcher's matching strategy.
pattern | the pattern to match against |
---|---|
path | the path String to test |
true
if the supplied path
matched,
false
if it didn't
Match the given path
against the corresponding part of the given
pattern
, according to this PathMatcher's matching strategy.
Determines whether the pattern at least matches as far as the given base path goes, assuming that a full path may then match as well.
pattern | the pattern to match against |
---|---|
path | the path String to test |
true
if the supplied path
matched,
false
if it didn't