本文整理汇总了Java中io.nuun.kernel.api.plugin.request.ClasspathScanRequestBuilder类的典型用法代码示例。如果您正苦于以下问题:Java ClasspathScanRequestBuilder类的具体用法?Java ClasspathScanRequestBuilder怎么用?Java ClasspathScanRequestBuilder使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
ClasspathScanRequestBuilder类属于io.nuun.kernel.api.plugin.request包,在下文中一共展示了ClasspathScanRequestBuilder类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: classpathRequestForDescendantTypesOf
import io.nuun.kernel.api.plugin.request.ClasspathScanRequestBuilder; //导入依赖的package包/类
/**
* Builds a ClasspathScanRequest to find all the descendant of the given interfaces.
*
* @param <T> the class of the interface.
* @param classpathScanRequestBuilder the Nuun classpath scan request builder.
* @param interfaces the interfaces.
* @return a map where the key is an interface and the value is a specification matching
* descendants of this interface.
*/
@SuppressWarnings("unchecked")
public static <T extends Class<?>> Map<T, Specification<? extends T>> classpathRequestForDescendantTypesOf(
ClasspathScanRequestBuilder classpathScanRequestBuilder, Collection<T> interfaces) {
Map<T, Specification<? extends T>> specsByInterface = new HashMap<>();
for (T anInterface : interfaces) {
LOGGER.trace("Request implementations of: {}", anInterface.getName());
Specification<Class<?>> spec = new SpecificationBuilder<>(
classIsDescendantOf(anInterface).and(classIsInterface().negate())
.and(classModifierIs(Modifier.ABSTRACT).negate())).build();
classpathScanRequestBuilder.specification(spec);
specsByInterface.put(anInterface, (Specification<? extends T>) spec);
}
return specsByInterface;
}