Class PathPatternsRequestCondition
java.lang.Object
org.springframework.web.servlet.mvc.condition.AbstractRequestCondition<PathPatternsRequestCondition>
org.springframework.web.servlet.mvc.condition.PathPatternsRequestCondition
- All Implemented Interfaces:
RequestCondition<PathPatternsRequestCondition>
public final class PathPatternsRequestCondition
extends AbstractRequestCondition<PathPatternsRequestCondition>
A logical disjunction (' || ') request condition that matches a request
against a set of URL path patterns.
In contrast to PatternsRequestCondition
, this condition uses
parsed PathPattern
s instead of String pattern matching with
AntPathMatcher
.
- Since:
- 5.3
- Author:
- Rossen Stoyanchev
-
Constructor Summary
ConstructorDescriptionDefault constructor resulting in an""
(empty path) mapping.PathPatternsRequestCondition
(PathPatternParser parser, String... patterns) Constructor with patterns to use. -
Method Summary
Modifier and TypeMethodDescriptionCombine the patterns of the current and of the other instances as follows: If only one instance has patterns, use those.int
compareTo
(PathPatternsRequestCondition other, HttpServletRequest request) Compare the two conditions based on the URL patterns they contain.protected Collection<PathPattern>
Return the discrete items a request condition is composed of.Return the mapping paths that are not patterns.Return the first pattern.getMatchingCondition
(HttpServletRequest request) Checks if any of the patterns match the given request and returns an instance that is guaranteed to contain matching patterns, sorted.Return the patterns in this condition.Return thegetPatterns()
mapped to Strings.protected String
The notation to use when printing discrete items of content.boolean
Whether the condition is the "" (empty path) mapping.Methods inherited from class org.springframework.web.servlet.mvc.condition.AbstractRequestCondition
equals, hashCode, isEmpty, toString
-
Constructor Details
-
PathPatternsRequestCondition
public PathPatternsRequestCondition()Default constructor resulting in an""
(empty path) mapping. -
PathPatternsRequestCondition
Constructor with patterns to use.
-
-
Method Details
-
getPatterns
Return the patterns in this condition. If only the first (top) pattern is needed usegetFirstPattern()
. -
getContent
Description copied from class:AbstractRequestCondition
Return the discrete items a request condition is composed of.For example URL patterns, HTTP request methods, param expressions, etc.
- Specified by:
getContent
in classAbstractRequestCondition<PathPatternsRequestCondition>
- Returns:
- a collection of objects (never
null
)
-
getToStringInfix
Description copied from class:AbstractRequestCondition
The notation to use when printing discrete items of content.For example
" || "
for URL patterns or" && "
for param expressions.- Specified by:
getToStringInfix
in classAbstractRequestCondition<PathPatternsRequestCondition>
-
getFirstPattern
Return the first pattern. -
isEmptyPathMapping
public boolean isEmptyPathMapping()Whether the condition is the "" (empty path) mapping. -
getDirectPaths
Return the mapping paths that are not patterns. -
getPatternValues
Return thegetPatterns()
mapped to Strings. -
combine
Combine the patterns of the current and of the other instances as follows:- If only one instance has patterns, use those.
- If both have patterns, combine patterns from "this" instance with
patterns from the other instance via
PathPattern.combine(PathPattern)
. - If neither has patterns, use
""
and"/"
as root path patterns.
- Parameters:
other
- the condition to combine with.- Returns:
- a request condition instance that is the result of combining the two condition instances.
-
getMatchingCondition
Checks if any of the patterns match the given request and returns an instance that is guaranteed to contain matching patterns, sorted.- Parameters:
request
- the current request- Returns:
- the same instance if the condition contains no patterns;
or a new condition with sorted matching patterns;
or
null
if no patterns match.
-
compareTo
Compare the two conditions based on the URL patterns they contain. Patterns are compared one at a time, from top to bottom. If all compared patterns match equally, but one instance has more patterns, it is considered a closer match.It is assumed that both instances have been obtained via
getMatchingCondition(HttpServletRequest)
to ensure they contain only patterns that match the request and are sorted with the best matches on top.
-