当前位置: 首页>>代码示例>>Java>>正文


Java ScanResult类代码示例

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


ScanResult类属于io.github.lukehutch.fastclasspathscanner.scanner包,在下文中一共展示了ScanResult类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: it_should_find_handlers

import io.github.lukehutch.fastclasspathscanner.scanner.ScanResult; //导入依赖的package包/类
@Test
public void it_should_find_handlers() throws Exception {
    TestService service = new TestService();
    service.initializeGuice();

    FastClasspathScanner scanner = new FastClasspathScanner();
    ScanResult scanResult = scanner.scan();
    List<String> rpcHandlers = scanResult.getNamesOfClassesWithAnnotation(RpcHandler.class);

    service.registerMethodHandlers(rpcHandlers);

    Map<String, ServiceMethodHandler<? extends Message, ? extends Message>> s = service.getMethodHandlers();
    assertThat(s.size() == 2);
    assertThat(s.containsKey("Test.handler1"));
    assertThat(s.containsKey("Test.handler2"));
    assertThat(s.get("Test.handler1").getClass().equals(TestHandler.class));
    assertThat(s.get("Test.handler2").getClass().equals(TestHandler2.class));
}
 
开发者ID:Sixt,项目名称:ja-micro,代码行数:19,代码来源:AbstractServiceAutomaticHandlerRegistrationTest.java

示例2: scanClasspath

import io.github.lukehutch.fastclasspathscanner.scanner.ScanResult; //导入依赖的package包/类
public ScanResult scanClasspath() {
    if (scanResult == null) {
        System.out.println("Scanning classpath");
        final Date scanStart = new Date();
        final ScanResult result = new FastClasspathScanner()
                .overrideClasspath((Object[])classLoader.getURLs())
                .verbose(verbose)
                .scan();
        final int count = result.getNamesOfAllClasses().size();
        final Date scanEnd = new Date();
        final double timeInSeconds = (scanEnd.getTime() - scanStart.getTime()) / 1000.0;
        System.out.println(String.format("Scanning finished in %.2f seconds. Total number of classes: %d.", timeInSeconds, count));
        scanResult = result;
    }
    return scanResult;
}
 
开发者ID:vojtechhabarta,项目名称:typescript-generator,代码行数:17,代码来源:Input.java

示例3: instantiate

import io.github.lukehutch.fastclasspathscanner.scanner.ScanResult; //导入依赖的package包/类
@Override
public Class<?> instantiate(final ScanResult scanResult) {
    switch (baseType) {
    case "byte":
        return byte.class;
    case "char":
        return char.class;
    case "double":
        return double.class;
    case "float":
        return float.class;
    case "int":
        return int.class;
    case "long":
        return long.class;
    case "short":
        return short.class;
    case "boolean":
        return boolean.class;
    case "void":
        return void.class;
    default:
        throw new RuntimeException("Unknown base type " + baseType);
    }
}
 
开发者ID:lukehutch,项目名称:fast-classpath-scanner,代码行数:26,代码来源:BaseTypeSignature.java

示例4: scanAsync

import io.github.lukehutch.fastclasspathscanner.scanner.ScanResult; //导入依赖的package包/类
/**
 * Asynchronously scans the classpath for matching files, and if runAsynchronously is true, also calls any
 * MatchProcessors if a match is identified.
 *
 * @param executorService
 *            A custom ExecutorService to use for scheduling worker tasks.
 * @param numParallelTasks
 *            The number of parallel tasks to break the work into during the most CPU-intensive stage of
 *            classpath scanning. Ideally the ExecutorService will have at least this many threads available.
 * @param runMatchProcessorsOnWorkerThread
 *            If true, run MatchProcessors in one of the worker threads after obtaining the ScanResult.
 * @return a Future<ScanResult> object, that when resolved using get() yields a new ScanResult object. You can
 *         call cancel(true) on this Future if you want to interrupt the scan.
 */
private Future<ScanResult> scanAsync(final ExecutorService executorService, final int numParallelTasks,
        final boolean isAsyncScan, final boolean runMatchProcessorsOnWorkerThread) {
    return launchAsyncScan(executorService, numParallelTasks, isAsyncScan,
            runMatchProcessorsOnWorkerThread ? new ScanResultProcessor() {
                @Override
                public void processScanResult(final ScanResult scanResult) {
                    // Call MatchProcessors after scan has completed
                    getScanSpec().callMatchProcessors(scanResult);
                    // Free temporary files if necessary
                    if (scanSpec.removeTemporaryFilesAfterScan) {
                        scanResult.freeTempFiles(log);
                    }
                }
            } : null, /* failureHandler = */ null);
}
 
开发者ID:lukehutch,项目名称:fast-classpath-scanner,代码行数:30,代码来源:FastClasspathScanner.java

示例5: testSynthetic

import io.github.lukehutch.fastclasspathscanner.scanner.ScanResult; //导入依赖的package包/类
@Test
public void testSynthetic() {
    final ClassLoader classLoader = Issue175Test.class.getClassLoader();
    final String aJarName = "issue175-has-kotlin-enum.zip";
    final URL aJarURL = classLoader.getResource(aJarName);
    final URLClassLoader overrideClassLoader = new URLClassLoader(new URL[] { aJarURL });

    final ScanResult result = new FastClasspathScanner("net.corda.core.contracts") //
            .overrideClassLoaders(overrideClassLoader).ignoreParentClassLoaders().ignoreMethodVisibility()
            .ignoreFieldVisibility().enableMethodInfo().enableFieldInfo().scan();

    final Map<String, ClassInfo> allInfo = result.getClassNameToClassInfo();

    final List<String> methods = new ArrayList<>();
    for (final String className : result.getNamesOfAllClasses()) {
        final ClassInfo classInfo = allInfo.get(className);
        for (final MethodInfo method : classInfo.getMethodAndConstructorInfo()) {
            methods.add(method.toString());
        }
    }
    assertThat(methods).containsOnly("static void <clinit>()",
            // "protected <init>(synthetic java.lang.String $enum$name, synthetic int $enum$ordinal)",
            "protected <init>()", "public static net.corda.core.contracts.ComponentGroupEnum[] values()",
            "public static net.corda.core.contracts.ComponentGroupEnum valueOf(java.lang.String)");
}
 
开发者ID:lukehutch,项目名称:fast-classpath-scanner,代码行数:26,代码来源:Issue175Test.java

示例6: testMandated

import io.github.lukehutch.fastclasspathscanner.scanner.ScanResult; //导入依赖的package包/类
@Test
public void testMandated() {
    final ClassLoader classLoader = Issue175Test.class.getClassLoader();
    final String aJarName = "issue175-parameter-arity-mismatch.zip";
    final URL aJarURL = classLoader.getResource(aJarName);
    final URLClassLoader overrideClassLoader = new URLClassLoader(new URL[] { aJarURL });

    final ScanResult result = new FastClasspathScanner("net.corda.core") //
            .overrideClassLoaders(overrideClassLoader).ignoreParentClassLoaders().ignoreMethodVisibility()
            .ignoreFieldVisibility().enableMethodInfo().enableFieldInfo().scan();

    final Map<String, ClassInfo> allInfo = result.getClassNameToClassInfo();

    final List<String> methods = new ArrayList<>();
    for (final String className : result.getNamesOfAllClasses()) {
        final ClassInfo classInfo = allInfo.get(className);
        for (final MethodInfo method : classInfo.getMethodAndConstructorInfo()) {
            methods.add(method.toString());
        }
    }
    assertThat(methods).containsOnly(
            "@org.jetbrains.annotations.NotNull public static final <A> rx.Observable<A> toObservable(@org.jetbrains.annotations.NotNull mandated net.corda.core.concurrent.CordaFuture<? extends A> $receiver)",
            "@org.jetbrains.annotations.NotNull public static final <T> net.corda.core.concurrent.CordaFuture<T> toFuture(@org.jetbrains.annotations.NotNull mandated rx.Observable<T> $receiver)");
}
 
开发者ID:lukehutch,项目名称:fast-classpath-scanner,代码行数:25,代码来源:Issue175Test.java

示例7: testParameterArityMismatch

import io.github.lukehutch.fastclasspathscanner.scanner.ScanResult; //导入依赖的package包/类
@Test
public void testParameterArityMismatch() {
    final ClassLoader classLoader = Issue175Test.class.getClassLoader();
    final String aJarName = "issue175-missing-bare-types.zip";
    final URL aJarURL = classLoader.getResource(aJarName);
    final URLClassLoader overrideClassLoader = new URLClassLoader(new URL[] { aJarURL });

    final ScanResult result = new FastClasspathScanner("net.corda.core.node.services.vault") //
            .overrideClassLoaders(overrideClassLoader).ignoreParentClassLoaders().ignoreMethodVisibility()
            .ignoreFieldVisibility().enableMethodInfo().enableFieldInfo().scan();

    final Map<String, ClassInfo> allInfo = result.getClassNameToClassInfo();

    final List<String> methods = new ArrayList<>();
    for (final String className : result.getNamesOfAllClasses()) {
        final ClassInfo classInfo = allInfo.get(className);
        for (final MethodInfo method : classInfo.getMethodAndConstructorInfo()) {
            methods.add(method.toString());
        }
    }
    assertThat(methods).containsOnly(
            "@org.jetbrains.annotations.NotNull public static <Q extends net.corda.core.node.services.vault.GenericQueryCriteria<Q, ? super P>, P extends net.corda.core.node.services.vault.BaseQueryCriteriaParser<Q, ? super P, ? super S>, S extends net.corda.core.node.services.vault.BaseSort> java.util.Collection<javax.persistence.criteria.Predicate> visit(@org.jetbrains.annotations.NotNull net.corda.core.node.services.vault.GenericQueryCriteria$ChainableQueryCriteria$AndVisitor<Q, ? super P, ? super S>, P)");
}
 
开发者ID:lukehutch,项目名称:fast-classpath-scanner,代码行数:24,代码来源:Issue175Test.java

示例8: scanSubAndSuperclass

import io.github.lukehutch.fastclasspathscanner.scanner.ScanResult; //导入依赖的package包/类
@Test
public void scanSubAndSuperclass() throws Exception {
    final HashSet<String> subclasses = new HashSet<>();
    final ScanResult scanResult = new FastClasspathScanner(WHITELIST_PACKAGE)
            .matchSubclassesOf(Cls.class, new SubclassMatchProcessor<Cls>() {
                @Override
                public void processMatch(final Class<? extends Cls> matchingClass) {
                    subclasses.add(matchingClass.getName());
                }
            }).scan();
    assertThat(subclasses).doesNotContain(Cls.class.getName());
    assertThat(subclasses).contains(ClsSub.class.getName());
    assertThat(subclasses).contains(ClsSubSub.class.getName());
    assertThat(scanResult.getNamesOfSubclassesOf(Cls.class)).doesNotContain(Cls.class.getName());
    assertThat(scanResult.getNamesOfSubclassesOf(Cls.class)).contains(ClsSub.class.getName());
    assertThat(scanResult.getNamesOfSubclassesOf(Cls.class)).contains(ClsSubSub.class.getName());
    assertThat(scanResult.getNamesOfSuperclassesOf(ClsSubSub.class)).doesNotContain(ClsSubSub.class.getName());
    assertThat(scanResult.getNamesOfSuperclassesOf(ClsSubSub.class)).contains(ClsSub.class.getName());
    assertThat(scanResult.getNamesOfSuperclassesOf(ClsSubSub.class)).contains(Cls.class.getName());
}
 
开发者ID:lukehutch,项目名称:fast-classpath-scanner,代码行数:21,代码来源:FastClasspathScannerTest.java

示例9: scanSubAndSuperinterface

import io.github.lukehutch.fastclasspathscanner.scanner.ScanResult; //导入依赖的package包/类
@Test
public void scanSubAndSuperinterface() throws Exception {
    final HashSet<String> subinterfaces = new HashSet<>();
    final ScanResult scanResult = new FastClasspathScanner(WHITELIST_PACKAGE)
            .matchSubinterfacesOf(Iface.class, new SubinterfaceMatchProcessor<Iface>() {
                @Override
                public void processMatch(final Class<? extends Iface> matchingInterface) {
                    subinterfaces.add(matchingInterface.getName());
                }
            }).scan();
    assertThat(subinterfaces).doesNotContain(Iface.class.getName());
    assertThat(subinterfaces).contains(IfaceSub.class.getName());
    assertThat(subinterfaces).contains(IfaceSubSub.class.getName());
    assertThat(scanResult.getNamesOfSubinterfacesOf(Iface.class)).doesNotContain(Iface.class.getName());
    assertThat(scanResult.getNamesOfSubinterfacesOf(Iface.class)).contains(IfaceSub.class.getName());
    assertThat(scanResult.getNamesOfSubinterfacesOf(Iface.class)).contains(IfaceSubSub.class.getName());
    assertThat(scanResult.getNamesOfSuperinterfacesOf(IfaceSubSub.class))
            .doesNotContain(IfaceSubSub.class.getName());
    assertThat(scanResult.getNamesOfSuperinterfacesOf(IfaceSubSub.class)).contains(IfaceSub.class.getName());
    assertThat(scanResult.getNamesOfSuperinterfacesOf(IfaceSubSub.class)).contains(Iface.class.getName());
}
 
开发者ID:lukehutch,项目名称:fast-classpath-scanner,代码行数:22,代码来源:FastClasspathScannerTest.java

示例10: testWhitelistingExternalClassesWithStrictWhitelist

import io.github.lukehutch.fastclasspathscanner.scanner.ScanResult; //导入依赖的package包/类
@Test
public void testWhitelistingExternalClassesWithStrictWhitelist() {
    final ScanResult scanResult = new FastClasspathScanner(InternalExternalTest.class.getPackage().getName(),
            ExternalAnnotation.class.getName()).strictWhitelist().scan();
    assertThat(scanResult.getNamesOfAllStandardClasses()).containsOnly(InternalExternalTest.class.getName(),
            InternalExtendsExternal.class.getName(), InternalImplementsExternal.class.getName(),
            InternalAnnotatedByExternal.class.getName());
    assertThat(scanResult.getNamesOfSubclassesOf(ExternalSuperclass.class.getName()))
            .containsExactly(InternalExtendsExternal.class.getName());
    assertThat(scanResult.getNamesOfAllInterfaceClasses()).isEmpty();
    assertThat(scanResult.getNamesOfClassesImplementing(ExternalInterface.class.getName()))
            .containsExactly(InternalImplementsExternal.class.getName());
    assertThat(scanResult.getNamesOfAllAnnotationClasses()).containsExactly(ExternalAnnotation.class.getName());
    assertThat(scanResult.getNamesOfClassesWithAnnotation(ExternalAnnotation.class.getName()))
            .containsExactly(InternalAnnotatedByExternal.class.getName());
}
 
开发者ID:lukehutch,项目名称:fast-classpath-scanner,代码行数:17,代码来源:InternalExternalTest.java

示例11: ProtocolSerializer

import io.github.lukehutch.fastclasspathscanner.scanner.ScanResult; //导入依赖的package包/类
/**
 * Finds all of the messages in the specified packaged and calls register.
 * @param messagePackage A string which contains the full name of the
 *                       package containing the protocol messages.
 */
@Inject
private ProtocolSerializer(
    @Parameter(ProtocolSerializerNamespace.class) final String messagePackage) {

  // Build a list of the message reflection classes.
  final ScanResult scanResult = new FastClasspathScanner(messagePackage).scan();
  final List<String> scanNames = scanResult.getNamesOfSubclassesOf(SpecificRecordBase.class);
  final List<Class<?>> messageClasses = scanResult.classNamesToClassRefs(scanNames);

  // Add the header message from the org.apache.reef.wake.avro.message package.
  messageClasses.add(Header.class);

  // Register all of the messages in the specified package.
  for (final Class<?> cls : messageClasses) {
    this.register(cls);
  }
}
 
开发者ID:apache,项目名称:reef,代码行数:23,代码来源:ProtocolSerializer.java

示例12: getGeneratedProtoClasses

import io.github.lukehutch.fastclasspathscanner.scanner.ScanResult; //导入依赖的package包/类
public List<String> getGeneratedProtoClasses(String serviceName) {
    FastClasspathScanner cpScanner = new FastClasspathScanner();
    ScanResult scanResult = cpScanner.scan();
    List<String> oldProtobuf = scanResult.getNamesOfSubclassesOf(GeneratedMessage.class);
    List<String> newProtobuf = scanResult.getNamesOfSubclassesOf(GeneratedMessageV3.class);
    List<String> retval = Stream.concat(oldProtobuf.stream(),
            newProtobuf.stream()).collect(Collectors.toList());
    String[] packageTokens = serviceName.split("\\.");
    return retval.stream().filter(s -> protoFilePackageMatches(s, packageTokens)).collect(Collectors.toList());
}
 
开发者ID:Sixt,项目名称:ja-micro,代码行数:11,代码来源:RpcMethodScanner.java

示例13: scanAnnotatedClasses

import io.github.lukehutch.fastclasspathscanner.scanner.ScanResult; //导入依赖的package包/类
private void scanAnnotatedClasses(String scanSpec, SmartPersistanceUnitInfo spui) {

    // ClassAnnotationMatchProcessor processor = spui::addAnnotatedClassName;
    // TODO
    ScanResult scanResult = new FastClasspathScanner(scanSpec).scan(NUMBER_CLASSPATH_SCANNER_THREADS);
    scanResult.getNamesOfClassesWithAnnotation(Entity.class).stream().forEach(spui::addAnnotatedClassName);
  }
 
开发者ID:pflima92,项目名称:vertx-jpa,代码行数:8,代码来源:HibernateEntityManagerFactoryProvider.java

示例14: fromClassNamePatterns

import io.github.lukehutch.fastclasspathscanner.scanner.ScanResult; //导入依赖的package包/类
private static List<SourceType<Type>> fromClassNamePatterns(ScanResult scanResult, List<String> classNamePatterns) {
    final List<String> allClassNames = new ArrayList<>();
    allClassNames.addAll(scanResult.getNamesOfAllStandardClasses());
    allClassNames.addAll(scanResult.getNamesOfAllInterfaceClasses());
    Collections.sort(allClassNames);
    final List<String> classNames = filterClassNames(allClassNames, classNamePatterns);
    System.out.println(String.format("Found %d classes matching pattern.", classNames.size()));
    return fromClassNames(classNames);
}
 
开发者ID:vojtechhabarta,项目名称:typescript-generator,代码行数:10,代码来源:Input.java

示例15: testScanner

import io.github.lukehutch.fastclasspathscanner.scanner.ScanResult; //导入依赖的package包/类
@Test
public void testScanner() {
    final ScanResult scanResult = new FastClasspathScanner().scan();
    final List<String> allClassNames = scanResult.getNamesOfAllClasses();
    final List<String> testClassNames = Input.filterClassNames(allClassNames, Arrays.asList("cz.habarta.typescript.generator.**Test"));
    Assert.assertTrue("Typescript-generator must have at least 20 tests :-)", testClassNames.size() > 20);
}
 
开发者ID:vojtechhabarta,项目名称:typescript-generator,代码行数:8,代码来源:InputTest.java


注:本文中的io.github.lukehutch.fastclasspathscanner.scanner.ScanResult类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。