• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java PackageNamesScanner类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.glassfish.jersey.server.internal.scanning.PackageNamesScanner的典型用法代码示例。如果您正苦于以下问题:Java PackageNamesScanner类的具体用法?Java PackageNamesScanner怎么用?Java PackageNamesScanner使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



PackageNamesScanner类属于org.glassfish.jersey.server.internal.scanning包,在下文中一共展示了PackageNamesScanner类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: getAnnotatedClasses

import org.glassfish.jersey.server.internal.scanning.PackageNamesScanner; //导入依赖的package包/类
/**
 * Scans all classes accessible from the context class loader which belong to the given package and subpackages.
 * @param pckg package name
 * @param annotation Annotation to search
 * @return The classes
 */
static public List<Class<?>> getAnnotatedClasses(Package pckg, Class<? extends Annotation> annotation) {
    final AnnotationAcceptingListener annotationAcceptingListener = new AnnotationAcceptingListener(annotation);
    try (final PackageNamesScanner scanner = new PackageNamesScanner(new String[] { pckg.getName() }, true)) {
        while (scanner.hasNext()) {
            final String next = scanner.next();
            if (annotationAcceptingListener.accept(next)) {
                try (final InputStream in = scanner.open()) {
                    annotationAcceptingListener.process(next, in);
                } catch (IOException e) {
                    throw new RuntimeException("AnnotationAcceptingListener failed to process scanned resource: "
                            + next);
                }
            }
        }
    }

    return annotationAcceptingListener.getAnnotatedClasses()
            .stream().collect(Collectors.toCollection(ArrayList::new));
}
 
开发者ID:yahoo,项目名称:elide,代码行数:26,代码来源:ClassScanner.java


示例2: findEntityClassesFromDirectory

import org.glassfish.jersey.server.internal.scanning.PackageNamesScanner; //导入依赖的package包/类
private static ImmutableList<Class<?>> findEntityClassesFromDirectory(String path, String... paths) {
    @SuppressWarnings("unchecked")
    final AnnotationAcceptingListener asl = new AnnotationAcceptingListener(Entity.class);
    final PackageNamesScanner scanner = new PackageNamesScanner(merge(path, paths), true);

    while (scanner.hasNext()) {
        final String next = scanner.next();
        if (asl.accept(next)) {
            try (final InputStream in = scanner.open()) {
                asl.process(next, in);
            } catch (IOException e) {
                throw new RuntimeException("AnnotationAcceptingListener failed to process scanned resource: " + next);
            }
        }
    }

    final ImmutableList.Builder<Class<?>> builder = ImmutableList.builder();
    asl.getAnnotatedClasses().forEach(builder::add);

    return builder.build();
}
 
开发者ID:scottescue,项目名称:dropwizard-entitymanager,代码行数:22,代码来源:ScanningEntityManagerBundle.java


示例3: scan

import org.glassfish.jersey.server.internal.scanning.PackageNamesScanner; //导入依赖的package包/类
/**
 * <p>scan.</p>
 */
public void scan() {
    final PackageNamesScanner scanner = new PackageNamesScanner(
            scanPkgs.toArray(new String[scanPkgs.size()]), true);
    while (scanner.hasNext()) {
        String fileName = scanner.next();
        if (!fileName.endsWith(".class")) continue;
        ClassInfo info = new ClassInfo(fileName) {

            InputStream in;

            @Override
            public InputStream getFileStream() {
                if (in == null) {
                    in = scanner.open();
                }
                return in;
            }

            @Override
            public void closeFileStream() {
                closeQuietly(in);
            }
        };
        String className = info.getCtClass().getName();
        if (!foundClasses.contains(className)) {
            ClassFoundEvent event = new ClassFoundEvent(info);
            SystemEventBus.publish(event);
            info.closeFileStream();

            if (event.accept) {
                acceptClasses.add(className);
            }
        }
        foundClasses.add(className);
    }
}
 
开发者ID:icode,项目名称:ameba,代码行数:40,代码来源:PackageScanner.java


示例4: AbstractRestApplication

import org.glassfish.jersey.server.internal.scanning.PackageNamesScanner; //导入依赖的package包/类
protected AbstractRestApplication(Class<? extends AbstractRestApplication> applicationClass) {
	super(applicationClass);
	
	register(JacksonJsonProvider.class);
	
	registerFinder(new PackageNamesScanner(new String[] { applicationClass.getPackage().getName() }, true));
}
 
开发者ID:openwide-java,项目名称:owsi-core-parent,代码行数:8,代码来源:AbstractRestApplication.java



注:本文中的org.glassfish.jersey.server.internal.scanning.PackageNamesScanner类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java IndexNotFoundException类代码示例发布时间:2022-05-22
下一篇:
Java EvalException类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap