Package org.springframework.web.method
Class HandlerTypePredicate
- java.lang.Object
- org.springframework.web.method.HandlerTypePredicate
public final class HandlerTypePredicate extends Object implements Predicate<Class<?>>
APredicateto match request handling component types if any of the following selectors match:- Base packages -- for selecting handlers by their package.
- Assignable types -- for selecting handlers by super type.
- Annotations -- for selecting handlers annotated in a specific way.
Composability methods on
Predicatecan be used :Predicate<Class<?>> predicate = HandlerTypePredicate.forAnnotation(RestController.class) .and(HandlerTypePredicate.forBasePackage("org.example"));- Since:
- 5.1
- Author:
- Rossen Stoyanchev
Nested Class Summary
Nested Classes Modifier and Type Class Description static classHandlerTypePredicate.BuilderAHandlerTypePredicatebuilder.
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static HandlerTypePredicate.Builderbuilder()Return a builder for aHandlerTypePredicate.static HandlerTypePredicateforAnnotation(Class<? extends Annotation>... annotations)Match handlers annotated with a specific annotation.static HandlerTypePredicateforAnyHandlerType()Predicatethat applies to any handlers.static HandlerTypePredicateforAssignableType(Class<?>... types)Match handlers that are assignable to a given type.static HandlerTypePredicateforBasePackage(String... packages)Match handlers declared under a base package, e.g.static HandlerTypePredicateforBasePackageClass(Class<?>... packageClasses)Type-safe alternative toforBasePackage(String...)to specify a base package through a class.booleantest(Class<?> controllerType)
Method Detail
forAnyHandlerType
public static HandlerTypePredicate forAnyHandlerType()
Predicatethat applies to any handlers.
forBasePackage
public static HandlerTypePredicate forBasePackage(String... packages)
Match handlers declared under a base package, e.g. "org.example".- Parameters:
packages- one or more base package names
forBasePackageClass
public static HandlerTypePredicate forBasePackageClass(Class<?>... packageClasses)
Type-safe alternative toforBasePackage(String...)to specify a base package through a class.- Parameters:
packageClasses- one or more base package classes
forAssignableType
public static HandlerTypePredicate forAssignableType(Class<?>... types)
Match handlers that are assignable to a given type.- Parameters:
types- one or more handler super types
forAnnotation
@SafeVarargs public static HandlerTypePredicate forAnnotation(Class<? extends Annotation>... annotations)
Match handlers annotated with a specific annotation.- Parameters:
annotations- one or more annotations to check for
builder
public static HandlerTypePredicate.Builder builder()
Return a builder for aHandlerTypePredicate.