Class RequestConditionHolder
java.lang.Object
org.springframework.web.reactive.result.condition.AbstractRequestCondition<RequestConditionHolder>
org.springframework.web.reactive.result.condition.RequestConditionHolder
- All Implemented Interfaces:
RequestCondition<RequestConditionHolder>
A holder for a
RequestCondition
useful when the type of the request
condition is not known ahead of time, e.g. custom condition. Since this
class is also an implementation of RequestCondition
, effectively it
decorates the held request condition and allows it to be combined and compared
with other request conditions in a type and null safe way.
When two RequestConditionHolder
instances are combined or compared
with each other, it is expected the conditions they hold are of the same type.
If they are not, a ClassCastException
is raised.
- Since:
- 5.0
- Author:
- Rossen Stoyanchev
-
Constructor Summary
ConstructorDescriptionRequestConditionHolder
(RequestCondition<?> requestCondition) Create a new holder to wrap the given request condition. -
Method Summary
Modifier and TypeMethodDescriptioncombine
(RequestConditionHolder other) Combine the request conditions held by the two RequestConditionHolder instances after making sure the conditions are of the same type.int
compareTo
(RequestConditionHolder other, ServerWebExchange exchange) Compare the request conditions held by the two RequestConditionHolder instances after making sure the conditions are of the same type.Return the held request condition, ornull
if not holding one.protected Collection<?>
Return the discrete items a request condition is composed of.getMatchingCondition
(ServerWebExchange exchange) Get the matching condition for the held request condition wrap it in a new RequestConditionHolder instance.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
-
RequestConditionHolder
Create a new holder to wrap the given request condition.- Parameters:
requestCondition
- the condition to hold (may benull
)
-
-
Method Details
-
getCondition
Return the held request condition, ornull
if not holding one. -
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<RequestConditionHolder>
- 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<RequestConditionHolder>
-
combine
Combine the request conditions held by the two RequestConditionHolder instances after making sure the conditions are of the same type. Or if one holder is empty, the other holder is returned.- Parameters:
other
- the condition to combine with.- Returns:
- a request condition instance that is the result of combining the two condition instances.
-
getMatchingCondition
Get the matching condition for the held request condition wrap it in a new RequestConditionHolder instance. Or otherwise if this is an empty holder, return the same holder instance.- Returns:
- a condition instance in case of a match or
null
otherwise.
-
compareTo
Compare the request conditions held by the two RequestConditionHolder instances after making sure the conditions are of the same type. Or if one holder is empty, the other holder is preferred.
-