public Collection<String> findFunctionsInJar(File jarFile) throws IOException { ClassGraph fastClasspathScanner = new ClassGraph().disableDirScanning() .removeTemporaryFilesAfterScan().overrideClasspath(jarFile.getAbsolutePath()); ScanResult scanResult = fastClasspathScanner.enableClassInfo().scan(); Set<String> functionClasses = new HashSet<>(); functionClasses.addAll(scanResult.getClassesImplementing(Function.class.getName()).getNames()); functionClasses.addAll(scanResult.getSubclasses(FunctionAdapter.class.getName()).getNames()); return functionClasses; } }
@Override public void handle(ScanResult scanResult, File joinfacesBaseDir) throws IOException { if (scanResult.getClassInfo(MYFACES_ANNOTATION_PROVIDER) == null) { return; } Map<String, List<String>> result = new LinkedHashMap<>(); for (String myfacesAnnotation : MYFACES_ANNOTATIONS) { result.put(myfacesAnnotation, scanResult.getClassesWithAnnotation(myfacesAnnotation).getNames()); } File resultFile = new File(joinfacesBaseDir, MYFACES_ANNOTATION_PROVIDER + ".classes"); writeClassMap(resultFile, result); } }
private static List<SourceType<Type>> fromClassNamePatterns(ScanResult scanResult, List<String> classNamePatterns) { final List<String> allClassNames = new ArrayList<>(); allClassNames.addAll(scanResult.getAllStandardClasses().getNames()); allClassNames.addAll(scanResult.getAllInterfaces().getNames()); Collections.sort(allClassNames); final List<String> classNames = filterClassNames(allClassNames, classNamePatterns); TypeScriptGenerator.getLogger().info(String.format("Found %d classes matching pattern.", classNames.size())); return fromClassNames(classNames); }
classes.addAll(scanResult.getClassesWithAnnotation(name).getNames()); classes.addAll(scanResult.getClassesWithMethodAnnotation(name).getNames()); classes.addAll(scanResult.getClassesWithFieldAnnotation(name).getNames()); classes.addAll(scanResult.getClassesImplementing(name).getNames()); classes.addAll(scanResult.getSubclasses(name).getNames());
public static List<SourceType<Type>> scanAutomaticJaxrsApplication(ScanResult scanResult, Predicate<String> isClassNameExcluded) { final List<String> namesOfResourceClasses = scanResult.getClassesWithAnnotation(Path.class.getName()).getNames(); final List<Class<?>> resourceClasses = Input.loadClasses(namesOfResourceClasses); TypeScriptGenerator.getLogger().info(String.format("Found %d root resources.", resourceClasses.size())); return new JaxrsApplicationScanner().scanJaxrsApplication(null, resourceClasses, isClassNameExcluded); }
final List<SourceType<Type>> c = fromClassNames( classesImplementingInterfaces.stream() .flatMap(interf -> scanResult.getClassesImplementing(interf).getNames() .stream()) .distinct() final ScanResult scanResult = classpathScanner.getScanResult(); types.addAll(fromClassNames(classesWithAnnotations.stream() .flatMap(annotation -> scanResult.getClassesWithAnnotation(annotation).getNames().stream()) .distinct() .collect(Collectors.toList())
entities.addAll(scanResult.getClassesWithAnnotation(Embedded.class.getName())); logger.info("Found " + entities.size() + " entities in classpath"); for (String cn : entities.getNames()) { ClassInfo ci = scanResult.getClassInfo(cn); AnnotationInfoList an = ci.getAnnotationInfo();
@Override public List<String> getClassNamesForClasspath(URL[] urls) { try (ScanResult scan = new ClassGraph() .disableNestedJarScanning() .enableClassInfo() .ignoreClassVisibility() .overrideClasspath(urls) .scan()) { return scan.getAllClasses().getNames(); } }
@Override public List<String> getClassNamesForClasspath(URL[] urls) { try (ScanResult scan = new ClassGraph() .disableNestedJarScanning() .enableClassInfo() .ignoreClassVisibility() .overrideClasspath(urls) .scan()) { return scan.getAllClasses().getNames(); } }
@Override public List<String> getClassNamesForPackage(String packageName, URL url) { try (ScanResult scan = new ClassGraph() .disableNestedJarScanning() .enableClassInfo() .ignoreClassVisibility() .overrideClasspath(url) .whitelistPackagesNonRecursive(packageName) .scan()) { return scan.getAllClasses().getNames(); } } }
@Override public List<String> getClassNamesForPackage(String packageName, URL url) { try (ScanResult scan = new ClassGraph() .disableNestedJarScanning() .enableClassInfo() .ignoreClassVisibility() .overrideClasspath(url) .whitelistPackagesNonRecursive(packageName) .scan()) { return scan.getAllClasses().getNames(); } } }