C
- the type of the context that the match method actually needs to use. Can be
an ApplicationContext
or a class of an existing bean
.public abstract class ApplicationContextServerWebExchangeMatcher<C> extends Object implements ServerWebExchangeMatcher
ApplicationContext
backed ServerWebExchangeMatcher
. Can work directly
with the ApplicationContext
, obtain an existing bean or
create a new bean
that is autowired in the usual way.ServerWebExchangeMatcher.MatchResult
Constructor and Description |
---|
ApplicationContextServerWebExchangeMatcher(Class<? extends C> contextClass) |
Modifier and Type | Method and Description |
---|---|
protected Supplier<C> |
getContext(ServerWebExchange exchange) |
protected boolean |
ignoreApplicationContext(ApplicationContext applicationContext)
Returns if the
ApplicationContext should be ignored and not used for
matching. |
protected void |
initialized(Supplier<C> context)
Called once the context has been initialized.
|
reactor.core.publisher.Mono<ServerWebExchangeMatcher.MatchResult> |
matches(ServerWebExchange exchange) |
protected abstract reactor.core.publisher.Mono<ServerWebExchangeMatcher.MatchResult> |
matches(ServerWebExchange exchange,
Supplier<C> context)
Decides whether the rule implemented by the strategy matches the supplied exchange.
|
public final reactor.core.publisher.Mono<ServerWebExchangeMatcher.MatchResult> matches(ServerWebExchange exchange)
matches
in interface ServerWebExchangeMatcher
protected abstract reactor.core.publisher.Mono<ServerWebExchangeMatcher.MatchResult> matches(ServerWebExchange exchange, Supplier<C> context)
exchange
- the source exchangecontext
- a supplier for the initialized context (may throw an exception)protected boolean ignoreApplicationContext(ApplicationContext applicationContext)
ApplicationContext
should be ignored and not used for
matching. If this method returns true
then the context will not be used and
the matches
method will return false
.applicationContext
- the candidate application contextprotected Supplier<C> getContext(ServerWebExchange exchange)