本文整理匯總了Java中org.reflections.util.FilterBuilder類的典型用法代碼示例。如果您正苦於以下問題:Java FilterBuilder類的具體用法?Java FilterBuilder怎麽用?Java FilterBuilder使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
FilterBuilder類屬於org.reflections.util包,在下文中一共展示了FilterBuilder類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: GuiceApplication
import org.reflections.util.FilterBuilder; //導入依賴的package包/類
protected GuiceApplication(String... basePackages) {
final ConfigurationBuilder confBuilder = new ConfigurationBuilder();
final FilterBuilder filterBuilder = new FilterBuilder();
if (basePackages.length == 0) {
basePackages = new String[] {};
}
logger.info("op=create, auto_scan_packages={}", (Object[]) basePackages);
for (String pkg : basePackages) {
confBuilder.addUrls(ClasspathHelper.forPackage(pkg));
filterBuilder.include(FilterBuilder.prefix(pkg));
}
confBuilder.filterInputsBy(filterBuilder)
.setScanners(new SubTypesScanner(), new TypeAnnotationsScanner());
this.reflections = new Reflections(confBuilder);
}
示例2: fromConfigWithPackage
import org.reflections.util.FilterBuilder; //導入依賴的package包/類
/**
* Scans the specified packages for annotated classes, and applies Config values to them.
*
* @param config the Config to derive values from
* @param packageNamePrefix the prefix to limit scanning to - e.g. "com.github"
* @return The constructed TypesafeConfigModule.
*/
public static TypesafeConfigModule fromConfigWithPackage(Config config, String packageNamePrefix) {
ConfigurationBuilder configBuilder =
new ConfigurationBuilder()
.filterInputsBy(new FilterBuilder().includePackage(packageNamePrefix))
.setUrls(ClasspathHelper.forPackage(packageNamePrefix))
.setScanners(
new TypeAnnotationsScanner(),
new MethodParameterScanner(),
new MethodAnnotationsScanner(),
new FieldAnnotationsScanner()
);
Reflections reflections = new Reflections(configBuilder);
return new TypesafeConfigModule(config, reflections);
}
示例3: getCasBannerInstance
import org.reflections.util.FilterBuilder; //導入依賴的package包/類
/**
* Gets cas banner instance.
*
* @return the cas banner instance
*/
public static Banner getCasBannerInstance() {
final String packageName = CasEmbeddedContainerUtils.class.getPackage().getName();
final Reflections reflections =
new Reflections(new ConfigurationBuilder()
.filterInputsBy(new FilterBuilder().includePackage(packageName))
.setUrls(ClasspathHelper.forPackage(packageName))
.setScanners(new SubTypesScanner(true)));
final Set<Class<? extends AbstractCasBanner>> subTypes = reflections.getSubTypesOf(AbstractCasBanner.class);
subTypes.remove(DefaultCasBanner.class);
if (subTypes.isEmpty()) {
return new DefaultCasBanner();
}
try {
final Class<? extends AbstractCasBanner> clz = subTypes.iterator().next();
LOGGER.debug("Created banner [{}]", clz);
return clz.newInstance();
} catch (final Exception e) {
LOGGER.error(e.getMessage(), e);
}
return new DefaultCasBanner();
}
示例4: generateReport
import org.reflections.util.FilterBuilder; //導入依賴的package包/類
public void generateReport(String packageName,List<String> flagList) throws IOException
{
URL testClassesURL = Paths.get("target/test-classes").toUri().toURL();
URLClassLoader classLoader = URLClassLoader.newInstance(new URL[]{testClassesURL},
ClasspathHelper.staticClassLoader());
reflections = new Reflections(new ConfigurationBuilder()
.setUrls(ClasspathHelper.forPackage(packageName,classLoader))
.addClassLoader(classLoader)
.filterInputsBy(new FilterBuilder().includePackage(packageName))
.setScanners(new MethodAnnotationsScanner(), new TypeAnnotationsScanner(), new SubTypesScanner())
);
List<Map<String, TestClass>> list = new ArrayList<>();
for (String flag : flagList)
{
list.add(printMethods(flag));
}
Gson gson = new Gson();
String overviewTemplate = IOUtils.toString(getClass().getResourceAsStream("/index.tpl.html"));
String editedTemplate = overviewTemplate.replace("##TEST_DATA##", gson.toJson(list));
FileUtils.writeStringToFile(new File("target/test-list-html-report/index.html"), editedTemplate);
logger.info("report file generated");
}
示例5: ReflectionsServiceDiscovery
import org.reflections.util.FilterBuilder; //導入依賴的package包/類
public ReflectionsServiceDiscovery(String resourceSearchPackages, JsonServiceLocator locator) {
this.locator = locator;
ConfigurationBuilder builder = new ConfigurationBuilder();
PreconditionUtil.assertNotNull("no resourceSearchPackage configured", resourceSearchPackages);
FilterBuilder filter = new FilterBuilder();
for (String resourceSearchPackage : resourceSearchPackages.split(",")) {
builder = builder.addUrls(ClasspathHelper.forPackage(resourceSearchPackage));
filter.includePackage(resourceSearchPackage);
}
filter.includePackage(Repository.class.getPackage().getName());
filter.includePackage(ResourceRepository.class.getPackage().getName());
builder = builder.filterInputsBy(filter);
builder = builder.addUrls(ClasspathHelper.forClass(Repository.class));
builder = builder.addUrls(ClasspathHelper.forClass(ResourceRepository.class));
builder = builder.addUrls(ClasspathHelper.forClass(ResourceRepositoryV2.class));
builder = builder.setScanners(new SubTypesScanner(false), new TypeAnnotationsScanner());
reflections = new Reflections(builder);
}
示例6: doPackage
import org.reflections.util.FilterBuilder; //導入依賴的package包/類
private void doPackage(FilterBuilder fb, List<RuleFactory> resultL) throws Exception {
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(fb));
Set<Class<? extends RuleFactory>> subTypes = reflections.getSubTypesOf(RuleFactory.class);
for(Class<? extends RuleFactory> clazz : subTypes) {
RuleFactory factory = clazz.newInstance();
resultL.add(factory);
}
}
示例7: testReflections
import org.reflections.util.FilterBuilder; //導入依賴的package包/類
@Test
public void testReflections() throws Exception {
List<ClassLoader> classLoadersList = new LinkedList<ClassLoader>();
classLoadersList.add(ClasspathHelper.contextClassLoader());
classLoadersList.add(ClasspathHelper.staticClassLoader());
String packageName = "org.dnal.core.world";
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(packageName))));
Set<String> types = reflections.getAllTypes();
for(String s : types) {
System.out.println(s);
}
Set<Class<? extends RuleFactory>> subTypes = reflections.getSubTypesOf(RuleFactory.class);
for(Class<? extends RuleFactory> clazz : subTypes) {
System.out.println("sub: " + clazz.getName());
RuleFactory factory = clazz.newInstance();
RuleDeclaration decl = factory.getDeclaration();
System.out.println("d: " + decl.ruleName);
}
}
示例8: getResourceDirectoryContent
import org.reflections.util.FilterBuilder; //導入依賴的package包/類
private ArrayList<String> getResourceDirectoryContent(String resourcePattern) {
ArrayList<String> tempFilesContentList = new ArrayList<>();
Reflections reflections = new Reflections(new ConfigurationBuilder()
.setUrls(ClasspathHelper.forPackage("io.logz"))
.setScanners(new ResourcesScanner())
.filterInputsBy(new FilterBuilder().include(resourcePattern)));
Set<String> properties = reflections.getResources(Pattern.compile(".*\\.json"));
properties.forEach((resourceName) -> {
URL resourceUrl = Resources.getResource(resourceName);
try {
tempFilesContentList.add(Resources.toString(resourceUrl, Charset.forName("utf-8")).replace("\n", ""));
} catch (IOException e) {
logger.info("Could not read file {}", resourceUrl.toString());
}
});
if (tempFilesContentList.isEmpty())
throw new RuntimeException("Did not find any files under "+ resourcePattern +"!");
return tempFilesContentList;
}
示例9: BeanScanner
import org.reflections.util.FilterBuilder; //導入依賴的package包/類
public BeanScanner(final BeanManagerImpl beanManager, final ClassLoader classLoader, final String packageToScan)
{
this.beanManager = beanManager;
final ConfigurationBuilder config = new ConfigurationBuilder();
config.setClassLoaders(new ClassLoader[] {classLoader});
config.setUrls(ClasspathHelper.forPackage(packageToScan, classLoader));
if (StringUtils.isNotEmpty(packageToScan))
{
config.filterInputsBy(new FilterBuilder().includePackage(packageToScan));
}
config.useParallelExecutor();
config.setScanners(new SubTypesScanner(false));
this.reflections = new Reflections(config);
}
示例10: findAllPackagesStartingWith
import org.reflections.util.FilterBuilder; //導入依賴的package包/類
/**
* Finds all package names starting with prefix
* @param prefix The package in which to start searching
* @param statik True to statically return components names
* @return a set of component name
*/
public List<String> findAllPackagesStartingWith(final String prefix, final boolean statik) {
final List<ClassLoader> classLoadersList = new ArrayList<>();
classLoadersList.add(ClasspathHelper.contextClassLoader());
Reflections reflections = new Reflections(new ConfigurationBuilder()
.setScanners(new SubTypesScanner(false), new ResourcesScanner())
.setUrls(ClasspathHelper.forClassLoader(classLoadersList.toArray(new ClassLoader[classLoadersList.size()])))
.filterInputsBy(new FilterBuilder().include(FilterBuilder.prefix(prefix))));
Set<Class<?>> classes = reflections.getSubTypesOf(Object.class);
final Set<String> packages = new HashSet<>();
for (final Class classInstance : classes) {
String packageName = classInstance.getPackage().getName();
packageName = packageName.split("\\.")[packageName.split("\\.").length-1].toLowerCase();
packages.add(packageName);
}
return new ArrayList<>(packages);
}
示例11: getPackageTypes
import org.reflections.util.FilterBuilder; //導入依賴的package包/類
private static Collection<? extends Class<?>> getPackageTypes(String packageToPase, Collection<URL> urls) {
Set<Class<?>> classes = new HashSet<>();
Reflections reflections = new Reflections(new ConfigurationBuilder()
.setScanners(new SubTypesScanner(false /* exclude Object.class */), new ResourcesScanner(), new TypeElementsScanner())
.setUrls(urls)
.filterInputsBy(new FilterBuilder().include(FilterBuilder.prefix(packageToPase)).exclude("java.*")));
Set<String> types;
types = reflections.getStore().get("TypeElementsScanner").keySet();
for (String type: types) {
Class<?> aClass = TypesHelper.loadClass(type, CLASS_LOADER);
boolean wantedElement = StringUtils.startsWith(type, packageToPase);
if (null != aClass && wantedElement) {
logger.log(Level.INFO, "looking up for type: " + type);
classes.add(aClass);
}
}
return classes;
}
示例12: scanConceptsWithReflections
import org.reflections.util.FilterBuilder; //導入依賴的package包/類
private void scanConceptsWithReflections() throws ObjectStoreConfigException {
logger.debug("Search for concepts with reflections");
Set<URL> classpath = new HashSet<>();
classpath.addAll(ClasspathHelper.forClassLoader());
classpath.addAll(ClasspathHelper.forJavaClassPath());
classpath.addAll(ClasspathHelper.forManifest());
classpath.addAll(ClasspathHelper.forPackage(""));
Reflections reflections = new Reflections(new ConfigurationBuilder()
.setUrls(classpath)
.useParallelExecutor()
.filterInputsBy(FilterBuilder.parsePackages("-java, -javax, -sun, -com.sun"))
.setScanners(new SubTypesScanner(), new TypeAnnotationsScanner()));
Set<Class<?>> annotated = reflections.getTypesAnnotatedWith(Iri.class, true);
logger.debug("Search for concepts with reflections resulted in " + annotated.size() + " classes");
for (Class clazz : annotated) {
logger.debug("Found concept class: " + clazz.getCanonicalName());
roleMapper.addConcept(clazz);
}
}
示例13: registerScriptEngineFactories
import org.reflections.util.FilterBuilder; //導入依賴的package包/類
@SuppressWarnings("unchecked")
private void registerScriptEngineFactories() {
List<ClassLoader> classLoadersList = new LinkedList<ClassLoader>();
classLoadersList.add(ClasspathHelper.contextClassLoader());
classLoadersList.add(ClasspathHelper.staticClassLoader());
Reflections reflections = new Reflections(new ConfigurationBuilder()
.setScanners(new SubTypesScanner(), new TypeAnnotationsScanner(), new ResourcesScanner())
.setUrls(ClasspathHelper.forClassLoader(classLoadersList.toArray(new ClassLoader[0])))
.filterInputsBy(new FilterBuilder().include(FilterBuilder.prefix("com.jsen"))));
Set<Class<?>> annotated = reflections.getTypesAnnotatedWith(ScriptEngineFactory.class);
for (Class<?> clazz : annotated) {
if (AbstractScriptEngineFactory.class.isAssignableFrom(clazz)) {
registerMimeContentFactory((Class<AbstractScriptEngineFactory>)clazz);
}
}
}
示例14: getAllDocStrings0
import org.reflections.util.FilterBuilder; //導入依賴的package包/類
private Map<String, String> getAllDocStrings0(ClassLoader classLoader) {
final Configuration configuration = new ConfigurationBuilder()
.filterInputsBy(new FilterBuilder().includePackage(path))
.setUrls(ClasspathHelper.forPackage(path))
.addClassLoader(classLoader)
.setScanners(new ResourcesScanner());
if (configuration.getUrls() == null || configuration.getUrls().isEmpty()) {
return Collections.emptyMap();
}
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);
}
示例15: urls
import org.reflections.util.FilterBuilder; //導入依賴的package包/類
public static List<URL> urls( String atPackage, String ext ) {
final ExecutorService executorService = Executors.newFixedThreadPool(
Runtime.getRuntime().availableProcessors(),
new ThreadFactoryBuilder().setNameFormat( "reflections-%d" ).build()
);
try {
final ConfigurationBuilder configuration = new ConfigurationBuilder()
.setUrls( ClasspathHelper.forPackage( atPackage ) )
.setScanners( new ResourcesScanner() )
.filterInputsBy( new FilterBuilder().includePackage( atPackage ) )
.setExecutorService( executorService );
final Reflections reflections = new Reflections( configuration );
final Set<String> resources = reflections.getResources( in -> in.endsWith( "." + ext ) );
return new ArrayList<>( Sets.map( resources, r -> Thread.currentThread().getContextClassLoader().getResource( r ) ) );
} finally {
executorService.shutdown();
}
}