Interface RequestPredicate
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface public interface RequestPredicate
Represents a function that evaluates on a givenServerRequest. Instances of this function that evaluate on common request properties can be found inRequestPredicates.- Since:
- 5.2
- Author:
- Arjen Poutsma
- See Also:
RequestPredicates,RouterFunctions.route(RequestPredicate, HandlerFunction),RouterFunctions.nest(RequestPredicate, RouterFunction)
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default voidaccept(RequestPredicates.Visitor visitor)Accept the given visitor.default RequestPredicateand(RequestPredicate other)Return a composed request predicate that tests against both this predicate AND theotherpredicate.default RequestPredicatenegate()Return a predicate that represents the logical negation of this predicate.default Optional<ServerRequest>nest(ServerRequest request)Transform the given request into a request used for a nested route.default RequestPredicateor(RequestPredicate other)Return a composed request predicate that tests against both this predicate OR theotherpredicate.booleantest(ServerRequest request)Evaluate this predicate on the given request.
Method Detail
test
boolean test(ServerRequest request)
Evaluate this predicate on the given request.- Parameters:
request- the request to match against- Returns:
trueif the request matches the predicate;falseotherwise
and
default RequestPredicate and(RequestPredicate other)
Return a composed request predicate that tests against both this predicate AND theotherpredicate. When evaluating the composed predicate, if this predicate isfalse, then theotherpredicate is not evaluated.- Parameters:
other- a predicate that will be logically-ANDed with this predicate- Returns:
- a predicate composed of this predicate AND the
otherpredicate
negate
default RequestPredicate negate()
Return a predicate that represents the logical negation of this predicate.- Returns:
- a predicate that represents the logical negation of this predicate
or
default RequestPredicate or(RequestPredicate other)
Return a composed request predicate that tests against both this predicate OR theotherpredicate. When evaluating the composed predicate, if this predicate istrue, then theotherpredicate is not evaluated.- Parameters:
other- a predicate that will be logically-ORed with this predicate- Returns:
- a predicate composed of this predicate OR the
otherpredicate
nest
default Optional<ServerRequest> nest(ServerRequest request)
Transform the given request into a request used for a nested route. For instance, a path-based predicate can return aServerRequestwith a the path remaining after a match.The default implementation returns an
Optionalwrapping the given request iftest(ServerRequest)evaluates totrue; orOptional.empty()if it evaluates tofalse.- Parameters:
request- the request to be nested- Returns:
- the nested request
- See Also:
RouterFunctions.nest(RequestPredicate, RouterFunction)
accept
default void accept(RequestPredicates.Visitor visitor)
Accept the given visitor. Default implementation callsRequestPredicates.Visitor.unknown(RequestPredicate); composedRequestPredicateimplementations are expected to callacceptfor all components that make up this request predicate.- Parameters:
visitor- the visitor to accept