Package org.reflections.util
Class ConfigurationBuilder
- java.lang.Object
-
- org.reflections.util.ConfigurationBuilder
-
- All Implemented Interfaces:
Configuration
public class ConfigurationBuilder extends java.lang.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 private java.lang.ClassLoader[]classLoadersstatic java.util.function.Predicate<java.lang.String>DEFAULT_INPUTS_FILTERstatic java.util.Set<Scanner>DEFAULT_SCANNERSprivate booleanexpandSuperTypesprivate java.util.function.Predicate<java.lang.String>inputsFilterprivate booleanisParallelprivate java.util.Set<Scanner>scannersprivate java.util.Set<java.net.URL>urls
-
Constructor Summary
Constructors Constructor Description ConfigurationBuilder()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ConfigurationBuilderaddClassLoaders(java.lang.ClassLoader... classLoaders)add optional class loaders used for resolving types.ConfigurationBuilderaddScanners(Scanner... scanners)set the scanners instances for scanning different metadataConfigurationBuilderaddUrls(java.net.URL... urls)add urls to be scannedConfigurationBuilderaddUrls(java.util.Collection<java.net.URL> urls)add urls to be scannedstatic ConfigurationBuilderbuild(java.lang.Object... params)constructs aConfigurationBuilder.ConfigurationBuilderfilterInputsBy(java.util.function.Predicate<java.lang.String> inputsFilter)sets the input filter for all resources to be scanned.ConfigurationBuilderforPackage(java.lang.String pkg, java.lang.ClassLoader... classLoaders)ConfigurationBuilderforPackages(java.lang.String... packages)addUrls(URL...)by applyingClasspathHelper.forPackage(String, ClassLoader...)for the givenpackagesjava.lang.ClassLoader[]getClassLoaders()optional class loaders used for resolving types.java.util.function.Predicate<java.lang.String>getInputsFilter()the fully qualified name filter used to filter types to be scanned.java.util.Set<Scanner>getScanners()the scanner instances used for indexing metadata.java.util.Set<java.net.URL>getUrls()the urls to be scanned.booleanisParallel()scan urls in parallel.ConfigurationBuildersetClassLoaders(java.lang.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(java.util.function.Predicate<java.lang.String> inputsFilter)sets the input filter for all resources to be scanned.ConfigurationBuildersetParallel(boolean parallel)if true, scan urls in parallel.ConfigurationBuildersetScanners(Scanner... scanners)set the scanners instances for scanning different metadataConfigurationBuildersetUrls(java.net.URL... urls)set the urls to be scannedConfigurationBuildersetUrls(java.util.Collection<java.net.URL> urls)set the urls to be scannedbooleanshouldExpandSuperTypes()if true (default), expand super types after scanning, for super types that were not scanned.
-
-
-
Field Detail
-
DEFAULT_SCANNERS
public static final java.util.Set<Scanner> DEFAULT_SCANNERS
-
DEFAULT_INPUTS_FILTER
public static final java.util.function.Predicate<java.lang.String> DEFAULT_INPUTS_FILTER
-
scanners
private java.util.Set<Scanner> scanners
-
urls
private java.util.Set<java.net.URL> urls
-
inputsFilter
private java.util.function.Predicate<java.lang.String> inputsFilter
-
isParallel
private boolean isParallel
-
classLoaders
private java.lang.ClassLoader[] classLoaders
-
expandSuperTypes
private boolean expandSuperTypes
-
-
Method Detail
-
build
public static ConfigurationBuilder build(java.lang.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(java.lang.String pkg, java.lang.ClassLoader... classLoaders)
-
forPackages
public ConfigurationBuilder forPackages(java.lang.String... packages)
addUrls(URL...)by applyingClasspathHelper.forPackage(String, ClassLoader...)for the givenpackages
-
getScanners
public java.util.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 java.util.Set<java.net.URL> getUrls()
Description copied from interface:Configurationthe urls to be scanned. required.- Specified by:
getUrlsin interfaceConfiguration
-
setUrls
public ConfigurationBuilder setUrls(java.util.Collection<java.net.URL> urls)
set the urls to be scanneduse
ClasspathHelperconvenient methods to get the relevant urlssee also
forPackages(String...)
-
setUrls
public ConfigurationBuilder setUrls(java.net.URL... urls)
set the urls to be scanneduse
ClasspathHelperconvenient methods to get the relevant urlssee also
forPackages(String...)
-
addUrls
public ConfigurationBuilder addUrls(java.util.Collection<java.net.URL> urls)
add urls to be scanneduse
ClasspathHelperconvenient methods to get the relevant urlssee also
forPackages(String...)
-
addUrls
public ConfigurationBuilder addUrls(java.net.URL... urls)
add urls to be scanneduse
ClasspathHelperconvenient methods to get the relevant urlssee also
forPackages(String...)
-
getInputsFilter
public java.util.function.Predicate<java.lang.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(java.util.function.Predicate<java.lang.String> inputsFilter)
sets the input filter for all resources to be scanned.prefer using
FilterBuilder
-
filterInputsBy
public ConfigurationBuilder filterInputsBy(java.util.function.Predicate<java.lang.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 ConfigurationBuilder setParallel(boolean parallel)
if true, scan urls in parallel.
-
getClassLoaders
public java.lang.ClassLoader[] getClassLoaders()
Description copied from interface:Configurationoptional class loaders used for resolving types.- Specified by:
getClassLoadersin interfaceConfiguration
-
setClassLoaders
public ConfigurationBuilder setClassLoaders(java.lang.ClassLoader[] classLoaders)
set optional class loaders used for resolving types.
-
addClassLoaders
public ConfigurationBuilder addClassLoaders(java.lang.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.
-
-