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 and Scanners.TypesAnnotated
(breaking changes) Inputs filter will NOT be set automatically, consider adding in case too many classes are scanned.
| Modifier and Type | Field and Description |
|---|---|
static Predicate<String> |
DEFAULT_INPUTS_FILTER |
static Set<Scanner> |
DEFAULT_SCANNERS |
| Constructor and Description |
|---|
ConfigurationBuilder() |
| Modifier and Type | Method and Description |
|---|---|
ConfigurationBuilder |
addClassLoaders(ClassLoader... classLoaders)
add optional class loaders used for resolving types.
|
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. |
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 applying ClasspathHelper.forPackage(String, ClassLoader...) for the given packages |
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.
|
ConfigurationBuilder |
setParallel(boolean parallel)
if true, scan urls in parallel.
|
ConfigurationBuilder |
setScanners(Scanner... scanners)
set the scanners instances for scanning different metadata
|
ConfigurationBuilder |
setUrls(Collection<URL> urls)
set the urls to be scanned
|
ConfigurationBuilder |
setUrls(URL... urls)
set the urls to be scanned
|
boolean |
shouldExpandSuperTypes()
if true (default), expand super types after scanning, for super types that were not scanned.
|
public static ConfigurationBuilder build(Object... params)
ConfigurationBuilder.
each parameter in params is referred by its type:
String - add urls using ClasspathHelper.forPackage(String, ClassLoader...) and an input filter
Class - add urls using ClasspathHelper.forClass(Class, ClassLoader...) and an input filter
Scanner - use scanner, overriding default scanners
URL - add url for scanning
Predicate - set/override inputs filter
ClassLoader - use these classloaders in order to find urls using ClasspathHelper and for resolving types
Object[] - flatten and use each element as above
new ConfigurationBuilder().forPackage(...).setScanners(...)public ConfigurationBuilder forPackage(String pkg, ClassLoader... classLoaders)
public ConfigurationBuilder forPackages(String... packages)
addUrls(URL...) by applying ClasspathHelper.forPackage(String, ClassLoader...) for the given packagespublic Set<Scanner> getScanners()
ConfigurationSubTypes and TypesAnnotated.getScanners in interface Configurationpublic ConfigurationBuilder setScanners(Scanner... scanners)
public ConfigurationBuilder addScanners(Scanner... scanners)
public Set<URL> getUrls()
ConfigurationgetUrls in interface Configurationpublic ConfigurationBuilder setUrls(Collection<URL> urls)
use ClasspathHelper convenient methods to get the relevant urls
see also forPackages(String...)
public ConfigurationBuilder setUrls(URL... urls)
use ClasspathHelper convenient methods to get the relevant urls
see also forPackages(String...)
public ConfigurationBuilder addUrls(Collection<URL> urls)
use ClasspathHelper convenient methods to get the relevant urls
see also forPackages(String...)
public ConfigurationBuilder addUrls(URL... urls)
use ClasspathHelper convenient methods to get the relevant urls
see also forPackages(String...)
public Predicate<String> getInputsFilter()
ConfigurationgetInputsFilter in interface Configurationpublic ConfigurationBuilder setInputsFilter(Predicate<String> inputsFilter)
prefer using FilterBuilder
public ConfigurationBuilder filterInputsBy(Predicate<String> inputsFilter)
prefer using FilterBuilder
public boolean isParallel()
ConfigurationisParallel in interface Configurationpublic ConfigurationBuilder setParallel(boolean parallel)
public ClassLoader[] getClassLoaders()
ConfigurationgetClassLoaders in interface Configurationpublic ConfigurationBuilder setClassLoaders(ClassLoader[] classLoaders)
public ConfigurationBuilder addClassLoaders(ClassLoader... classLoaders)
public boolean shouldExpandSuperTypes()
ConfigurationshouldExpandSuperTypes in interface Configurationpublic ConfigurationBuilder setExpandSuperTypes(boolean expandSuperTypes)
Copyright © 2021. All rights reserved.