public class DefaultExtensionsRegistry extends Object implements ExtensionsRegistry
extension registry
implementation.
The implementation builds an extension registry by scanning the context
classloader for resources named jasperreports_extension.properties
.
Each such resource is loaded as a properties file, and properties that start
with net.sf.jasperreports.extension.registry.factory.
are identified.
Each such property should have as value the name of a
ExtensionsRegistryFactory
implementation. The registry factory class is
instantiated, and
ExtensionsRegistryFactory.createRegistry(String, JRPropertiesMap)
is called on it, using the propery suffix as registry ID and passing the
properties map. The registry factory can collect properties that apply to the
specific registry by using a property prefix obtain by appending the registry ID
to "net.sf.jasperreports.extension.
".
If instantiating an extension registry results in an exception, the registry is skipped and an error message is logged.
Modifier and Type | Field and Description |
---|---|
static String |
EXTENSION_RESOURCE_NAME
The name of property file resources that are used to load JasperReports
extensions.
|
static String |
PROPERTY_REGISTRY_FACTORY_PREFIX
The property prefix of extension registry factories.
|
static String |
PROPERTY_REGISTRY_PREFIX
A prefix that can be used to provide registry-specific properties,
by appending the registry ID and a fixed property suffix to it.
|
Constructor and Description |
---|
DefaultExtensionsRegistry() |
Modifier and Type | Method and Description |
---|---|
protected Map<URL,List<ExtensionsRegistry>> |
getClassLoaderRegistries(ClassLoader classLoader) |
<T> List<T> |
getExtensions(Class<T> extensionType)
Returns a list of extension objects for a specific extension type.
|
protected List<ExtensionsRegistry> |
getRegistries() |
protected ExtensionsRegistry |
instantiateRegistry(JRPropertiesMap props,
String registryId,
String factoryClass) |
protected List<ClassLoaderResource> |
loadExtensionPropertyResources() |
protected List<ExtensionsRegistry> |
loadRegistries() |
protected List<ExtensionsRegistry> |
loadRegistries(URL url,
Map<String,Exception> registryExceptions) |
public static final String EXTENSION_RESOURCE_NAME
public static final String PROPERTY_REGISTRY_FACTORY_PREFIX
public static final String PROPERTY_REGISTRY_PREFIX
public <T> List<T> getExtensions(Class<T> extensionType)
ExtensionsRegistry
getExtensions
in interface ExtensionsRegistry
T
- generic extension typeextensionType
- the extension typeprotected List<ExtensionsRegistry> getRegistries()
protected List<ExtensionsRegistry> loadRegistries()
protected List<ClassLoaderResource> loadExtensionPropertyResources()
protected Map<URL,List<ExtensionsRegistry>> getClassLoaderRegistries(ClassLoader classLoader)
protected List<ExtensionsRegistry> loadRegistries(URL url, Map<String,Exception> registryExceptions)
protected ExtensionsRegistry instantiateRegistry(JRPropertiesMap props, String registryId, String factoryClass)
Copyright © 2017. All rights reserved.