Package org.reflections.util
Class ConfigurationBuilder
- java.lang.Object
-
- org.reflections.util.ConfigurationBuilder
-
- All Implemented Interfaces:
Configuration
public class ConfigurationBuilder extends Object implements Configuration
Configuration
builder 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 inputs
defaults scanners:
Scanners.SubTypes
andScanners.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_FILTER
static 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 ConfigurationBuilder
addClassLoaders(ClassLoader... classLoaders)
add optional class loaders used for resolving types.ConfigurationBuilder
addScanners(Scanner... scanners)
set the scanners instances for scanning different metadataConfigurationBuilder
addUrls(URL... urls)
add urls to be scannedConfigurationBuilder
addUrls(Collection<URL> urls)
add urls to be scannedstatic ConfigurationBuilder
build(Object... params)
constructs aConfigurationBuilder
.ConfigurationBuilder
filterInputsBy(Predicate<String> inputsFilter)
sets the input filter for all resources to be scanned.ConfigurationBuilder
forPackage(String pkg, ClassLoader... classLoaders)
ConfigurationBuilder
forPackages(String... packages)
addUrls(URL...)
by applyingClasspathHelper.forPackage(String, ClassLoader...)
for the givenpackages
ClassLoader[]
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.boolean
isParallel()
scan urls in parallel.ConfigurationBuilder
setClassLoaders(ClassLoader[] classLoaders)
set optional class loaders used for resolving types.ConfigurationBuilder
setExpandSuperTypes(boolean expandSuperTypes)
if set to true, Reflections will expand super types after scanning.ConfigurationBuilder
setInputsFilter(Predicate<String> inputsFilter)
sets the input filter for all resources to be scanned.void
setParallel(boolean parallel)
if true, scan urls in parallel.ConfigurationBuilder
setScanners(Scanner... scanners)
set the scanners instances for scanning different metadataConfigurationBuilder
setUrls(URL... urls)
set the urls to be scannedConfigurationBuilder
setUrls(Collection<URL> urls)
set the urls to be scannedboolean
shouldExpandSuperTypes()
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
params
is 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:Configuration
the scanner instances used for indexing metadata. defaults toSubTypes
andTypesAnnotated
.- Specified by:
getScanners
in 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:Configuration
the urls to be scanned. required.- Specified by:
getUrls
in interfaceConfiguration
-
setUrls
public ConfigurationBuilder setUrls(Collection<URL> urls)
set the urls to be scanneduse
ClasspathHelper
convenient methods to get the relevant urlssee also
forPackages(String...)
-
setUrls
public ConfigurationBuilder setUrls(URL... urls)
set the urls to be scanneduse
ClasspathHelper
convenient methods to get the relevant urlssee also
forPackages(String...)
-
addUrls
public ConfigurationBuilder addUrls(Collection<URL> urls)
add urls to be scanneduse
ClasspathHelper
convenient methods to get the relevant urlssee also
forPackages(String...)
-
addUrls
public ConfigurationBuilder addUrls(URL... urls)
add urls to be scanneduse
ClasspathHelper
convenient methods to get the relevant urlssee also
forPackages(String...)
-
getInputsFilter
public Predicate<String> getInputsFilter()
Description copied from interface:Configuration
the fully qualified name filter used to filter types to be scanned. defaults to accept all inputs (if null).- Specified by:
getInputsFilter
in 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:Configuration
scan urls in parallel. defaults to true.- Specified by:
isParallel
in interfaceConfiguration
-
setParallel
public void setParallel(boolean parallel)
if true, scan urls in parallel.
-
getClassLoaders
public ClassLoader[] getClassLoaders()
Description copied from interface:Configuration
optional class loaders used for resolving types.- Specified by:
getClassLoaders
in 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:Configuration
if true (default), expand super types after scanning, for super types that were not scanned.- Specified by:
shouldExpandSuperTypes
in interfaceConfiguration
-
setExpandSuperTypes
public ConfigurationBuilder setExpandSuperTypes(boolean expandSuperTypes)
if set to true, Reflections will expand super types after scanning.
-
-