/** * Match handlers annotated with a specific annotation. * @param annotations one or more annotations to check for */ @SafeVarargs public static HandlerTypePredicate forAnnotation(Class<? extends Annotation>... annotations) { return new Builder().annotation(annotations).build(); }
/** * Type-safe alternative to {@link #forBasePackage(String...)} to specify a * base package through a class. * @param packageClasses one or more base package names */ public Builder basePackageClass(Class<?>... packageClasses) { Arrays.stream(packageClasses).forEach(clazz -> addBasePackage(ClassUtils.getPackageName(clazz))); return this; }
.basePackage(annotation.basePackages()) .basePackageClass(annotation.basePackageClasses()) .assignableType(annotation.assignableTypes()) .annotation(annotation.annotations()) .build();
.basePackage(annotation.basePackages()) .basePackageClass(annotation.basePackageClasses()) .assignableType(annotation.assignableTypes()) .annotation(annotation.annotations()) .build();
/** * Match handlers annotated with a specific annotation. * @param annotations one or more annotations to check for */ @SafeVarargs public static HandlerTypePredicate forAnnotation(Class<? extends Annotation>... annotations) { return new Builder().annotation(annotations).build(); }
/** * Match handlers declared under a base package, e.g. "org.example". * @param packages one or more base package names */ public static HandlerTypePredicate forBasePackage(String... packages) { return new Builder().basePackage(packages).build(); }
/** * Type-safe alternative to {@link #forBasePackage(String...)} to specify a * base package through a class. * @param packageClasses one or more base package classes */ public static HandlerTypePredicate forBasePackageClass(Class<?>... packageClasses) { return new Builder().basePackageClass(packageClasses).build(); }
/** * Type-safe alternative to {@link #forBasePackage(String...)} to specify a * base package through a class. * @param packageClasses one or more base package names */ public Builder basePackageClass(Class<?>... packageClasses) { Arrays.stream(packageClasses).forEach(clazz -> addBasePackage(ClassUtils.getPackageName(clazz))); return this; }
/** * Return a builder for a {@code HandlerTypePredicate}. */ public static Builder builder() { return new Builder(); }
/** * Type-safe alternative to {@link #forBasePackage(String...)} to specify a * base package through a class. * @param packageClasses one or more base package names */ public Builder basePackageClass(Class<?>... packageClasses) { Arrays.stream(packageClasses).forEach(clazz -> addBasePackage(ClassUtils.getPackageName(clazz))); return this; }
/** * Match handlers that are assignable to a given type. * @param types one or more handler super types */ public static HandlerTypePredicate forAssignableType(Class<?>... types) { return new Builder().assignableType(types).build(); }
/** * Match handlers declared under a base package, e.g. "org.example". * @param packages one or more base package names */ public static HandlerTypePredicate forBasePackage(String... packages) { return new Builder().basePackage(packages).build(); }
/** * Return a builder for a {@code HandlerTypePredicate}. */ public static Builder builder() { return new Builder(); }
/** * Match handlers that are assignable to a given type. * @param types one or more handler super types */ public static HandlerTypePredicate forAssignableType(Class<?>... types) { return new Builder().assignableType(types).build(); }
/** * Type-safe alternative to {@link #forBasePackage(String...)} to specify a * base package through a class. * @param packageClasses one or more base package classes */ public static HandlerTypePredicate forBasePackageClass(Class<?>... packageClasses) { return new Builder().basePackageClass(packageClasses).build(); }
/** * Match handlers annotated with a specific annotation. * @param annotations one or more annotations to check for */ @SafeVarargs public static HandlerTypePredicate forAnnotation(Class<? extends Annotation>... annotations) { return new Builder().annotation(annotations).build(); }
/** * Match handlers that are assignable to a given type. * @param types one or more handler super types */ public static HandlerTypePredicate forAssignableType(Class<?>... types) { return new Builder().assignableType(types).build(); }
/** * Type-safe alternative to {@link #forBasePackage(String...)} to specify a * base package through a class. * @param packageClasses one or more base package classes */ public static HandlerTypePredicate forBasePackageClass(Class<?>... packageClasses) { return new Builder().basePackageClass(packageClasses).build(); }
/** * Return a builder for a {@code HandlerTypePredicate}. */ public static Builder builder() { return new Builder(); }
/** * Match handlers declared under a base package, e.g. "org.example". * @param packages one or more base package names */ public static HandlerTypePredicate forBasePackage(String... packages) { return new Builder().basePackage(packages).build(); }