public class ConfigurationBuilderextends Objectimplements Configuration
Configuration
, to be used for constructing a Reflections
instance usage:
new Reflections( new ConfigurationBuilder() .filterInputsBy(new FilterBuilder().include("your project's common package prefix here...")) .setUrls(ClasspathHelper.forClassLoader()) .setScanners(new SubTypesScanner(), new TypeAnnotationsScanner().filterResultsBy(myClassAnnotationsFilter)));
executorService
is used optionally used for parallel scanning. if value is null then scanning is done in a simple for loop defaults: accept all for inputsFilter
, executorService
is null, serializer
is XmlSerializer
Modifier and Type | Field and Description |
---|---|
protected MetadataAdapter | metadataAdapter |
Constructor and Description |
---|
ConfigurationBuilder() |
Modifier and Type | Method and Description |
---|---|
ConfigurationBuilder | addClassLoader(ClassLoader classLoader) add class loader, might be used for resolving methods/fields |
ConfigurationBuilder | addClassLoaders(ClassLoader... classLoaders) add class loader, might be used for resolving methods/fields |
ConfigurationBuilder | addClassLoaders(Collection<ClassLoader> classLoaders) add class loader, might be used for resolving methods/fields |
ConfigurationBuilder | addScanners(Scanner... scanners) set the scanners instances for scanning different metadata |
ConfigurationBuilder | addUrls(Collection<URL> urls) add urls to be scanned |
ConfigurationBuilder | addUrls(URL... urls) add urls to be scanned |
static ConfigurationBuilder | build(Object... params) constructs a ConfigurationBuilder using the given parameters, in a non statically typed way. |
ConfigurationBuilder | filterInputsBy(com.google.common.base.Predicate<String> inputsFilter) sets the input filter for all resources to be scanned. |
ConfigurationBuilder | forPackages(String... packages) |
ClassLoader[] | getClassLoaders() get class loader, might be used for scanning or resolving methods/fields |
ExecutorService | getExecutorService() executor service used to scan files. |
com.google.common.base.Predicate<String> | getInputsFilter() get the fully qualified name filter used to filter types to be scanned |
MetadataAdapter | getMetadataAdapter() returns the metadata adapter. |
Set<Scanner> | getScanners() the scanner instances used for scanning different metadata |
Serializer | getSerializer() the default serializer to use when saving Reflection |
Set<URL> | getUrls() the urls to be scanned |
void | setClassLoaders(ClassLoader[] classLoaders) set class loader, might be used for resolving methods/fields |
ConfigurationBuilder | setExecutorService(ExecutorService executorService) sets the executor service used for scanning. |
void | setInputsFilter(com.google.common.base.Predicate<String> inputsFilter) sets the input filter for all resources to be scanned. |
ConfigurationBuilder | setMetadataAdapter(MetadataAdapter metadataAdapter) sets the metadata adapter used to fetch metadata from classes |
ConfigurationBuilder | setScanners(Scanner... scanners) set the scanners instances for scanning different metadata |
ConfigurationBuilder | setSerializer(Serializer serializer) sets the serializer used when issuing Reflections.save(java.lang.String) |
ConfigurationBuilder | setUrls(Collection<URL> urls) set the urls to be scanned |
ConfigurationBuilder | setUrls(URL... urls) set the urls to be scanned |
ConfigurationBuilder | useParallelExecutor() sets the executor service used for scanning to ThreadPoolExecutor with core size as Runtime.availableProcessors() |
ConfigurationBuilder | useParallelExecutor(int availableProcessors) sets the executor service used for scanning to ThreadPoolExecutor with core size as the given availableProcessors parameter |
protected MetadataAdapter metadataAdapter
public static ConfigurationBuilder build(@Nullable Object... params)
ConfigurationBuilder
using the given parameters, in a non statically typed way. that is, each element in params
is guessed by it's type and populated into the configuration. String
- add urls using ClasspathHelper.forPackage(String, ClassLoader...)
()}Class
- add urls using ClasspathHelper.forClass(Class, ClassLoader...)
ClassLoader
- use these classloaders in order to find urls in ClasspathHelper.forPackage(), ClasspathHelper.forClass() and for resolving typesScanner
- use given scanner, overriding the default scannersURL
- add the given url for scanningObject[]
- flatten and use each element as aboveConfigurationBuilder
appropriately.public ConfigurationBuilder forPackages(String... packages)
@Nonnullpublic Set<Scanner> getScanners()
Configuration
getScanners
in interface Configuration
public ConfigurationBuilder setScanners(@Nonnull Scanner... scanners)
public ConfigurationBuilder addScanners(Scanner... scanners)
@Nonnullpublic Set<URL> getUrls()
Configuration
getUrls
in interface Configuration
public ConfigurationBuilder setUrls(@Nonnull Collection<URL> urls)
use ClasspathHelper
convenient methods to get the relevant urls
public ConfigurationBuilder setUrls(URL... urls)
use ClasspathHelper
convenient methods to get the relevant urls
public ConfigurationBuilder addUrls(Collection<URL> urls)
use ClasspathHelper
convenient methods to get the relevant urls
public ConfigurationBuilder addUrls(URL... urls)
use ClasspathHelper
convenient methods to get the relevant urls
public MetadataAdapter getMetadataAdapter()
JavassistAdapter
otherwise defaults to JavaReflectionAdapter
. the JavassistAdapter
is preferred in terms of performance and class loading.
getMetadataAdapter
in interface Configuration
public ConfigurationBuilder setMetadataAdapter(MetadataAdapter metadataAdapter)
@Nullablepublic com.google.common.base.Predicate<String> getInputsFilter()
Configuration
getInputsFilter
in interface Configuration
public void setInputsFilter(@Nullable com.google.common.base.Predicate<String> inputsFilter)
supply a Predicate
or use the FilterBuilder
public ConfigurationBuilder filterInputsBy(com.google.common.base.Predicate<String> inputsFilter)
supply a Predicate
or use the FilterBuilder
@Nullablepublic ExecutorService getExecutorService()
Configuration
getExecutorService
in interface Configuration
public ConfigurationBuilder setExecutorService(@Nullable ExecutorService executorService)
public ConfigurationBuilder useParallelExecutor()
Runtime.availableProcessors()
default is ThreadPoolExecutor with a single core
public ConfigurationBuilder useParallelExecutor(int availableProcessors)
default is ThreadPoolExecutor with a single core
public Serializer getSerializer()
Configuration
getSerializer
in interface Configuration
public ConfigurationBuilder setSerializer(Serializer serializer)
Reflections.save(java.lang.String)
@Nullablepublic ClassLoader[] getClassLoaders()
getClassLoaders
in interface Configuration
public void setClassLoaders(@Nullable ClassLoader[] classLoaders)
public ConfigurationBuilder addClassLoader(ClassLoader classLoader)
public ConfigurationBuilder addClassLoaders(ClassLoader... classLoaders)
public ConfigurationBuilder addClassLoaders(Collection<ClassLoader> classLoaders)
Copyright © 2015. All rights reserved.