Class DefaultExtensionsRegistry
- java.lang.Object
-
- net.sf.jasperreports.extensions.DefaultExtensionsRegistry
-
- All Implemented Interfaces:
ExtensionsRegistry
public class DefaultExtensionsRegistry extends Object implements ExtensionsRegistry
The defaultextension registryimplementation.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
ExtensionsRegistryFactoryimplementation. The registry factory class is instantiated, andExtensionsRegistryFactory.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.
- Author:
- Lucian Chirita (lucianc@users.sourceforge.net)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classDefaultExtensionsRegistry.URLRegistries
-
Field Summary
Fields Modifier and Type Field Description static StringEXTENSION_RESOURCE_NAMEThe name of property file resources that are used to load JasperReports extensions.static StringPROPERTY_REGISTRY_FACTORY_PREFIXThe property prefix of extension registry factories.static StringPROPERTY_REGISTRY_PREFIXA prefix that can be used to provide registry-specific properties, by appending the registry ID and a fixed property suffix to it.
-
Constructor Summary
Constructors Constructor Description DefaultExtensionsRegistry()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected URLdetectDuplicate(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 ExtensionsRegistryinstantiateRegistry(JRPropertiesMap props, String registryId, String factoryClass)protected List<ClassLoaderResource>loadExtensionPropertyResources()protected List<ExtensionsRegistry>loadRegistries()protected List<ExtensionsRegistry>loadRegistries(JRPropertiesMap properties, Map<String,Exception> registryExceptions)
-
-
-
Field Detail
-
EXTENSION_RESOURCE_NAME
public static final String EXTENSION_RESOURCE_NAME
The name of property file resources that are used to load JasperReports extensions.- See Also:
- Constant Field Values
-
PROPERTY_REGISTRY_FACTORY_PREFIX
public static final String PROPERTY_REGISTRY_FACTORY_PREFIX
The property prefix of extension registry factories.- See Also:
- Constant Field Values
-
PROPERTY_REGISTRY_PREFIX
public static final 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.- See Also:
- Constant Field Values
-
-
Method Detail
-
getExtensions
public <T> List<T> getExtensions(Class<T> extensionType)
Description copied from interface:ExtensionsRegistryReturns a list of extension objects for a specific extension type.- Specified by:
getExtensionsin interfaceExtensionsRegistry- Type Parameters:
T- generic extension type- Parameters:
extensionType- the extension type- Returns:
- a list of extension objects
-
getRegistries
protected List<ExtensionsRegistry> getRegistries()
-
loadRegistries
protected List<ExtensionsRegistry> loadRegistries()
-
loadExtensionPropertyResources
protected List<ClassLoaderResource> loadExtensionPropertyResources()
-
getClassLoaderRegistries
protected Map<URL,DefaultExtensionsRegistry.URLRegistries> getClassLoaderRegistries(ClassLoader classLoader)
-
loadRegistries
protected List<ExtensionsRegistry> loadRegistries(JRPropertiesMap properties, Map<String,Exception> registryExceptions)
-
instantiateRegistry
protected ExtensionsRegistry instantiateRegistry(JRPropertiesMap props, String registryId, String factoryClass)
-
detectDuplicate
protected URL detectDuplicate(JRPropertiesMap properties, Map<URL,DefaultExtensionsRegistry.URLRegistries> registries)
-
-