Package org.reflections.util
Class ConfigurationBuilder
- java.lang.Object
-
- org.reflections.util.ConfigurationBuilder
-
- All Implemented Interfaces:
Configuration
public class ConfigurationBuilder extends Object implements Configuration
Configurationbuilder for instantiating Reflections// add urls for package prefix, use default scanners new Reflections( new ConfigurationBuilder() .forPackage("org.reflections")) new Reflections( new ConfigurationBuilder() .addUrls(ClasspathHelper.forPackage("org.reflections")) // add urls for package prefix .addScanners(Scanners.values()) // use all standard scanners .filterInputsBy(new FilterBuilder().includePackage(...))) // optionally filter inputsdefaults scanners:
Scanners.SubTypesandScanners.TypesAnnotated(breaking changes) Inputs filter will NOT be set automatically, consider adding in case too many classes are scanned.
-
-
Field Summary
Fields Modifier and Type Field Description static Predicate<String>DEFAULT_INPUTS_FILTERstatic Set<Scanner>DEFAULT_SCANNERS
-
Constructor Summary
Constructors Constructor Description ConfigurationBuilder()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ConfigurationBuilderaddClassLoaders(ClassLoader... classLoaders)add optional class loaders used for resolving types.ConfigurationBuilderaddScanners(Scanner... scanners)set the scanners instances for scanning different metadataConfigurationBuilderaddUrls(URL... urls)add urls to be scannedConfigurationBuilderaddUrls(Collection<URL> urls)add urls to be scannedstatic ConfigurationBuilderbuild(Object... params)constructs aConfigurationBuilder.ConfigurationBuilderfilterInputsBy(Predicate<String> inputsFilter)sets the input filter for all resources to be scanned.ConfigurationBuilderforPackage(String pkg, ClassLoader... classLoaders)ConfigurationBuilderforPackages(String... packages)addUrls(URL...)by applyingClasspathHelper.forPackage(String, ClassLoader...)for the givenpackagesClassLoader[]getClassLoaders()optional class loaders used for resolving types.Predicate<String>getInputsFilter()the fully qualified name filter used to filter types to be scanned.Set<Scanner>getScanners()the scanner instances used for indexing metadata.Set<URL>getUrls()the urls to be scanned.booleanisParallel()scan urls in parallel.ConfigurationBuildersetClassLoaders(ClassLoader[] classLoaders)set optional class loaders used for resolving types.ConfigurationBuildersetExpandSuperTypes(boolean expandSuperTypes)if set to true, Reflections will expand super types after scanning.ConfigurationBuildersetInputsFilter(Predicate<String> inputsFilter)sets the input filter for all resources to be scanned.voidsetParallel(boolean parallel)if true, scan urls in parallel.ConfigurationBuildersetScanners(Scanner... scanners)set the scanners instances for scanning different metadataConfigurationBuildersetUrls(URL... urls)set the urls to be scannedConfigurationBuildersetUrls(Collection<URL> urls)set the urls to be scannedbooleanshouldExpandSuperTypes()if true (default), expand super types after scanning, for super types that were not scanned.
-
-
-
Method Detail
-
build
public static ConfigurationBuilder build(Object... params)
constructs aConfigurationBuilder.each parameter in
paramsis referred by its type:String- add urls usingClasspathHelper.forPackage(String, ClassLoader...)and an input filterClass- add urls usingClasspathHelper.forClass(Class, ClassLoader...)and an input filterScanner- use scanner, overriding default scannersURL- add url for scanningPredicate- set/override inputs filterClassLoader- use these classloaders in order to find urls using ClasspathHelper and for resolving typesObject[]- flatten and use each element as above
new ConfigurationBuilder().forPackage(...).setScanners(...)
-
forPackage
public ConfigurationBuilder forPackage(String pkg, ClassLoader... classLoaders)
-
forPackages
public ConfigurationBuilder forPackages(String... packages)
addUrls(URL...)by applyingClasspathHelper.forPackage(String, ClassLoader...)for the givenpackages
-
getScanners
public Set<Scanner> getScanners()
Description copied from interface:Configurationthe scanner instances used for indexing metadata. defaults toSubTypesandTypesAnnotated.- Specified by:
getScannersin interfaceConfiguration
-
setScanners
public ConfigurationBuilder setScanners(Scanner... scanners)
set the scanners instances for scanning different metadata
-
addScanners
public ConfigurationBuilder addScanners(Scanner... scanners)
set the scanners instances for scanning different metadata
-
getUrls
public Set<URL> getUrls()
Description copied from interface:Configurationthe urls to be scanned. required.- Specified by:
getUrlsin interfaceConfiguration
-
setUrls
public ConfigurationBuilder setUrls(Collection<URL> urls)
set the urls to be scanneduse
ClasspathHelperconvenient methods to get the relevant urlssee also
forPackages(String...)
-
setUrls
public ConfigurationBuilder setUrls(URL... urls)
set the urls to be scanneduse
ClasspathHelperconvenient methods to get the relevant urlssee also
forPackages(String...)
-
addUrls
public ConfigurationBuilder addUrls(Collection<URL> urls)
add urls to be scanneduse
ClasspathHelperconvenient methods to get the relevant urlssee also
forPackages(String...)
-
addUrls
public ConfigurationBuilder addUrls(URL... urls)
add urls to be scanneduse
ClasspathHelperconvenient methods to get the relevant urlssee also
forPackages(String...)
-
getInputsFilter
public Predicate<String> getInputsFilter()
Description copied from interface:Configurationthe fully qualified name filter used to filter types to be scanned. defaults to accept all inputs (if null).- Specified by:
getInputsFilterin interfaceConfiguration
-
setInputsFilter
public ConfigurationBuilder setInputsFilter(Predicate<String> inputsFilter)
sets the input filter for all resources to be scanned.prefer using
FilterBuilder
-
filterInputsBy
public ConfigurationBuilder filterInputsBy(Predicate<String> inputsFilter)
sets the input filter for all resources to be scanned.prefer using
FilterBuilder
-
isParallel
public boolean isParallel()
Description copied from interface:Configurationscan urls in parallel. defaults to true.- Specified by:
isParallelin interfaceConfiguration
-
setParallel
public void setParallel(boolean parallel)
if true, scan urls in parallel.
-
getClassLoaders
public ClassLoader[] getClassLoaders()
Description copied from interface:Configurationoptional class loaders used for resolving types.- Specified by:
getClassLoadersin interfaceConfiguration
-
setClassLoaders
public ConfigurationBuilder setClassLoaders(ClassLoader[] classLoaders)
set optional class loaders used for resolving types.
-
addClassLoaders
public ConfigurationBuilder addClassLoaders(ClassLoader... classLoaders)
add optional class loaders used for resolving types.
-
shouldExpandSuperTypes
public boolean shouldExpandSuperTypes()
Description copied from interface:Configurationif true (default), expand super types after scanning, for super types that were not scanned.- Specified by:
shouldExpandSuperTypesin interfaceConfiguration
-
setExpandSuperTypes
public ConfigurationBuilder setExpandSuperTypes(boolean expandSuperTypes)
if set to true, Reflections will expand super types after scanning.
-
-