List<ClassLoader> classLoadersList = new LinkedList<ClassLoader>(); classLoadersList.add(ClasspathHelper.contextClassLoader()); classLoadersList.add(ClasspathHelper.staticClassLoader()); Reflections reflections = new Reflections(new ConfigurationBuilder() .setScanners(new SubTypesScanner(false /* don't exclude Object.class */), new ResourcesScanner()) .setUrls(ClasspathHelper.forClassLoader(classLoadersList.toArray(new ClassLoader[0]))) .filterInputsBy(new FilterBuilder().include(FilterBuilder.prefix("org.your.package"))));
config.setScanners(new ResourcesScanner(), new TypeAnnotationsScanner(), new SubTypesScanner());
/** * Scan the classpath for {@link #classpathRootName} and return all resources under it. * {@inheritDoc} * @see org.apache.gobblin.config.store.deploy.DeployableConfigSource#getDeployableConfigPaths() */ private Set<String> getDeployableConfigPaths() { ConfigurationBuilder cb = new ConfigurationBuilder().setUrls(ClasspathHelper.forClassLoader()).setScanners(new ResourcesScanner()) .filterInputsBy(new FilterBuilder().include(String.format(".*%s.*", this.classpathRootName))); Reflections reflections = new Reflections(cb); Pattern pattern = Pattern.compile(".*"); return reflections.getResources(pattern); }
config.setScanners(new ResourcesScanner(), new TypeAnnotationsScanner(), new SubTypesScanner()); final Reflections reflections; reflections = new Reflections(config);
private Map<String, String> getAllDocStrings0(ClassLoader classLoader) { final Configuration configuration = new ConfigurationBuilder() .filterInputsBy(new FilterBuilder().includePackage(path)) .setUrls(ClasspathHelper.forPackage(path, classLoader)) .addClassLoader(classLoader) .setScanners(new ResourcesScanner()); if (configuration.getUrls() == null || configuration.getUrls().isEmpty()) { return Collections.emptyMap(); } final Map<String, byte[]> files = new Reflections(configuration) .getResources(this::acceptFile).stream() .map(f -> { try { URL url = classLoader.getResource(f); if (url == null) { throw new IllegalStateException("not found: " + f); } return new SimpleImmutableEntry<>(f, Resources.toByteArray(url)); } catch (IOException e) { throw new UncheckedIOException(e); } }) .collect(toImmutableMap(Entry::getKey, Entry::getValue)); return getDocStringsFromFiles(files); }
/** * @return A list of the property files containing the build/version info */ public static List<String> listGitPropertiesFiles() { Reflections reflections = new Reflections(new ResourcesScanner()); Set<String> resources = reflections.getResources(Pattern.compile(".*-git.properties")); List<String> out = new ArrayList<>(resources); Collections.sort(out); //Equivalent to sorting by groupID and artifactID return out; }
public static Iterable<Object[]> allScripts() { Set<String> resources = new Reflections(ClasspathHelper.forPackage("pl.symentis.lua4j.tests"), new ResourcesScanner()).getResources(Pattern.compile("(.*)\\.lua")); return () -> resources.stream().map((String resource) -> new Object[] { resource }).iterator(); }
@Parameters(name = "{1}") public static List<Object[]> params() { List<Object[]> rval = new ArrayList<>(); Reflections refs = new Reflections("org.everit.json.schema.issues", new ResourcesScanner()); Set<String> paths = refs.getResources(Pattern.compile("schema.json")) .stream().map(path -> path.substring(0, path.lastIndexOf('/'))) .collect(Collectors.toSet()); for (String path : paths) { rval.add(new Object[] { path, path.substring(path.lastIndexOf('/') + 1) }); } return rval; }
Reflections reflections = new Reflections("com.example.package", new ResourcesScanner()); Set<String> paths = reflections.getResources(Pattern.compile(".*\\.template$")); Map<String, String> templates = new LinkedHashMap<>(); for (String path : paths) { log.info("Found " + path); String templateName = Files.getNameWithoutExtension(path); URL resource = getClass().getClassLoader().getResource(path); String text = Resources.toString(resource, StandardCharsets.UTF_8); templates.put(templateName, text); }
public static void main(String[] args) { Reflections reflections = new Reflections(new ConfigurationBuilder() .setUrls(ClasspathHelper.forPackage("your.test.more")) .setScanners(new ResourcesScanner())); Set<String> textFiles = reflections.getResources(Pattern.compile(".*\\.txt")); for (String file : textFiles){ System.out.println(file); } }
public ReflectionsExtensionFinder(URL[] classpath, ClassLoader classLoader) { this.classpath = classpath; this.classLoader = classLoader; this.reflections = new Reflections(classLoader, classpath, new ResourcesScanner(), new SubTypesScanner(), new TypeAnnotationsScanner()); }
Predicate<String> filter = new FilterBuilder().include(".*\\.properties"); Reflections reflections = new Reflections(new ConfigurationBuilder() .filterInputsBy(filter) .setScanners(new ResourcesScanner()) .setUrls(asList(ClasspathHelper.forJavaClassPath()))); System.out.println(reflections.getStore().get(ResourcesScanner.class).keySet());
Reflections ref = new Reflections(new ConfigurationBuilder().setScanners(new SubTypesScanner(false), new ResourcesScanner(), new TypeElementsScanner()) ... Set<String> typeSet = reflections.getStore().getStoreMap().get("TypeElementsScanner").keySet(); HashSet<Class<? extends Object>> classes = Sets.newHashSet(ReflectionUtils.forNames(typeSet, reflections .getConfiguration().getClassLoaders()));
/** * Creates an instance of the scanner that scans only in the given packages. * * @param packages * Packages to limit scanning to. */ private DeploymentScanner(final String... packages) { final ConfigurationBuilder builder = ConfigurationBuilder.build((Object[]) packages); removeSysLibUrls(builder); builder.addScanners(new ResourcesScanner()); reflections = new Reflections(builder); }
public Collection<Object[]> generateData(String testPackage, String pattern) { Reflections reflections = new Reflections(new ConfigurationBuilder().setScanners(new ResourcesScanner()) .setUrls(ClasspathHelper.forPackage("")) .filterInputsBy(new FilterBuilder.Include(Pattern.quote(testPackage) + ".*"))); Collection<Object[]> data = new ArrayList<Object[]>(); for (String testResourceName : reflections.getResources(Pattern.compile(pattern))) { data.addAll(parseSingleResource(testResourceName)); } return data; }
/** * Creates a default instance of the scanner that scans through the whole classpath. */ private DeploymentScanner() { final ConfigurationBuilder builder = ConfigurationBuilder.build(""); addNestedClasspathUrls(builder); removeSysLibUrls(builder); builder.addScanners(new ResourcesScanner()); reflections = new Reflections(builder); }
public Collection<TestConfiguration> generateData(String testPackage, String pattern) { Reflections reflections = new Reflections(new ConfigurationBuilder().setScanners(new ResourcesScanner()) .setUrls(ClasspathHelper.forPackage("")) .filterInputsBy(new FilterBuilder.Include(FilterBuilder.prefix(testPackage)))); Collection<TestConfiguration> data = new ArrayList<TestConfiguration>(); for (String testResourceName : reflections.getResources(Pattern.compile(pattern))) { data.addAll(parseSingleResource(testResourceName)); } return data; }
public Collection<TestConfiguration> generateData(String testPackage, String pattern) { Reflections reflections = new Reflections(new ConfigurationBuilder().setScanners(new ResourcesScanner()) .setUrls(ClasspathHelper.forPackage("")) .filterInputsBy(new FilterBuilder.Include(FilterBuilder.prefix(testPackage)))); Collection<TestConfiguration> data = new ArrayList<TestConfiguration>(); for (String testResourceName : reflections.getResources(Pattern.compile(pattern))) { data.addAll(parseSingleResource(testResourceName)); } return data; }
/** * Scan the classpath for {@link #classpathRootName} and return all resources under it. * {@inheritDoc} * @see gobblin.config.store.deploy.DeployableConfigSource#getDeployableConfigPaths() */ private Set<String> getDeployableConfigPaths() { ConfigurationBuilder cb = new ConfigurationBuilder().setUrls(ClasspathHelper.forClassLoader()).setScanners(new ResourcesScanner()) .filterInputsBy(new FilterBuilder().include(String.format(".*%s.*", this.classpathRootName))); Reflections reflections = new Reflections(cb); Pattern pattern = Pattern.compile(".*"); return reflections.getResources(pattern); }
public static List<RestxSpec> findSpecsIn(String location) throws IOException { RestxSpecLoader loader = new RestxSpecLoader(Factory.getInstance()); Set<String> specResources = new ConfigurationBuilder() .setUrls(ClasspathHelper.forPackage(location)) .setScanners(new ResourcesScanner()) .filterInputsBy(new FilterBuilder().includePackage(location.replace('/','.'))) .build() .getResources(Pattern.compile(".*\\.spec\\.yaml")); List<RestxSpec> loaded = Lists.newArrayList(); for (String specResource : specResources) { loaded.add(loader.load(specResource)); } return loaded; }