类 HandlerTypePredicate

java.lang.Object
cn.taketoday.web.handler.method.HandlerTypePredicate
所有已实现的接口:
Predicate<Class<?>>

public final class HandlerTypePredicate extends Object implements Predicate<Class<?>>
A Predicate to 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 Predicate can be used :

 Predicate<Class<?>> predicate =
                HandlerTypePredicate.forAnnotation(RestController.class)
                                .and(HandlerTypePredicate.forBasePackage("org.example"));
 
从以下版本开始:
4.0 2022/1/22 21:46
作者:
Rossen Stoyanchev, Harry Yang
  • 字段详细资料

    • basePackages

      private final Set<String> basePackages
    • assignableTypes

      private final List<Class<?>> assignableTypes
    • annotations

      private final List<Class<? extends Annotation>> annotations
  • 构造器详细资料

    • HandlerTypePredicate

      private HandlerTypePredicate(Set<String> basePackages, List<Class<?>> assignableTypes, List<Class<? extends Annotation>> annotations)
      Private constructor. See static factory methods.
  • 方法详细资料

    • test

      public boolean test(@Nullable Class<?> controllerType)
      指定者:
      test 在接口中 Predicate<Class<?>>
    • hasSelectors

      private boolean hasSelectors()
    • forAnyHandlerType

      public static HandlerTypePredicate forAnyHandlerType()
      Predicate that applies to any handlers.
    • forBasePackage

      public static HandlerTypePredicate forBasePackage(String... packages)
      Match handlers declared under a base package, e.g. "org.example".
      参数:
      packages - one or more base package names
    • forBasePackageClass

      public static HandlerTypePredicate forBasePackageClass(Class<?>... packageClasses)
      Type-safe alternative to forBasePackage(String...) to specify a base package through a class.
      参数:
      packageClasses - one or more base package classes
    • forAssignableType

      public static HandlerTypePredicate forAssignableType(Class<?>... types)
      Match handlers that are assignable to a given type.
      参数:
      types - one or more handler super types
    • forAnnotation

      @SafeVarargs public static HandlerTypePredicate forAnnotation(Class<? extends Annotation>... annotations)
      Match handlers annotated with a specific annotation.
      参数:
      annotations - one or more annotations to check for
    • builder

      public static HandlerTypePredicate.Builder builder()
      Return a builder for a HandlerTypePredicate.