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 | Class and Description |
---|---|
protected static class |
DefaultExtensionsRegistry.URLRegistries |
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 URL |
detectDuplicate(JRPropertiesMap properties,
Map<URL,DefaultExtensionsRegistry.URLRegistries> registries) |
protected Map<URL,DefaultExtensionsRegistry.URLRegistries> |
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(JRPropertiesMap properties,
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,DefaultExtensionsRegistry.URLRegistries> getClassLoaderRegistries(ClassLoader classLoader)
protected List<ExtensionsRegistry> loadRegistries(JRPropertiesMap properties, Map<String,Exception> registryExceptions)
protected ExtensionsRegistry instantiateRegistry(JRPropertiesMap props, String registryId, String factoryClass)
protected URL detectDuplicate(JRPropertiesMap properties, Map<URL,DefaultExtensionsRegistry.URLRegistries> registries)
Copyright © 2023 Cloud Software Group, Inc.. All rights reserved.