Class PatternsRequestCondition
java.lang.Object
org.springframework.web.reactive.result.condition.AbstractRequestCondition<PatternsRequestCondition>
org.springframework.web.reactive.result.condition.PatternsRequestCondition
- All Implemented Interfaces:
RequestCondition<PatternsRequestCondition>
public final class PatternsRequestCondition
extends AbstractRequestCondition<PatternsRequestCondition>
A logical disjunction (' || ') request condition that matches a request
against a set of URL path patterns.
- Since:
- 5.0
- Author:
- Rossen Stoyanchev, Brian Clozel
-
Constructor Summary
ConstructorDescriptionPatternsRequestCondition
(List<PathPattern> patterns) Creates a new instance with the given URL patterns.PatternsRequestCondition
(PathPattern... patterns) Creates a new instance with the given URL patterns. -
Method Summary
Modifier and TypeMethodDescriptioncombine
(PatternsRequestCondition other) Returns a new instance with URL patterns from the current instance ("this") and the "other" instance as follows: If there are patterns in both instances, combine the patterns in "this" with the patterns in "other" usingPathPattern.combine(PathPattern)
.int
compareTo
(PatternsRequestCondition other, ServerWebExchange exchange) 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.getMatchingCondition
(ServerWebExchange exchange) Checks if any of the patterns match the given request and returns an instance that is guaranteed to contain matching patterns, sorted.protected String
The notation to use when printing discrete items of content.Methods inherited from class org.springframework.web.reactive.result.condition.AbstractRequestCondition
equals, hashCode, isEmpty, toString
-
Constructor Details
-
PatternsRequestCondition
Creates a new instance with the given URL patterns.- Parameters:
patterns
- 0 or more URL patterns; if 0 the condition will match to every request.
-
PatternsRequestCondition
Creates a new instance with the given URL patterns.
-
-
Method Details
-
getPatterns
-
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<PatternsRequestCondition>
- 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<PatternsRequestCondition>
-
getDirectPaths
Return the mapping paths that are not patterns.- Since:
- 5.3
-
combine
Returns a new instance with URL patterns from the current instance ("this") and the "other" instance as follows:- If there are patterns in both instances, combine the patterns in "this" with
the patterns in "other" using
PathPattern.combine(PathPattern)
. - If only one instance has patterns, use them.
- If neither instance has patterns, use an empty String (i.e. "").
- Parameters:
other
- the condition to combine with.- Returns:
- a request condition instance that is the result of combining the two condition instances.
- If there are patterns in both instances, combine the patterns in "this" with
the patterns in "other" using
-
getMatchingCondition
Checks if any of the patterns match the given request and returns an instance that is guaranteed to contain matching patterns, sorted.- Parameters:
exchange
- the current exchange- 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(ServerWebExchange)
to ensure they contain only patterns that match the request and are sorted with the best matches on top.
-