net.sf.jasperreports.extensions
Class DefaultExtensionsRegistry

java.lang.Object
  extended by net.sf.jasperreports.extensions.DefaultExtensionsRegistry
All Implemented Interfaces:
ExtensionsRegistry

public class DefaultExtensionsRegistry
extends java.lang.Object
implements ExtensionsRegistry

The default 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.

Version:
$Id: DefaultExtensionsRegistry.java 3809 2010-05-19 15:04:43Z lucianc $
Author:
Lucian Chirita ([email protected])

Field Summary
static java.lang.String EXTENSION_RESOURCE_NAME
          The name of property file resources that are used to load JasperReports extensions.
static java.lang.String PROPERTY_REGISTRY_FACTORY_PREFIX
          The property prefix of extension registry factories.
static java.lang.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 Summary
DefaultExtensionsRegistry()
           
 
Method Summary
protected  java.util.Map<java.net.URL,java.util.List> getClassLoaderRegistries(java.lang.ClassLoader classLoader)
           
 java.util.List getExtensions(java.lang.Class extensionType)
          Returns a list of extension objects for a specific extension type.
protected  java.util.List getRegistries()
           
protected  ExtensionsRegistry instantiateRegistry(JRPropertiesMap props, java.lang.String registryId, java.lang.String factoryClass)
           
protected  java.util.List<ClassLoaderResource> loadExtensionPropertyResources()
           
protected  java.util.List loadRegistries()
           
protected  java.util.List loadRegistries(JRPropertiesMap properties)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EXTENSION_RESOURCE_NAME

public static final java.lang.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 java.lang.String PROPERTY_REGISTRY_FACTORY_PREFIX
The property prefix of extension registry factories.

See Also:
Constant Field Values

PROPERTY_REGISTRY_PREFIX

public static final java.lang.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
Constructor Detail

DefaultExtensionsRegistry

public DefaultExtensionsRegistry()
Method Detail

getExtensions

public java.util.List getExtensions(java.lang.Class extensionType)
Description copied from interface: ExtensionsRegistry
Returns a list of extension objects for a specific extension type.

Specified by:
getExtensions in interface ExtensionsRegistry
Parameters:
extensionType - the extension type
Returns:
a list of extension objects

getRegistries

protected java.util.List getRegistries()

loadRegistries

protected java.util.List loadRegistries()

loadExtensionPropertyResources

protected java.util.List<ClassLoaderResource> loadExtensionPropertyResources()

getClassLoaderRegistries

protected java.util.Map<java.net.URL,java.util.List> getClassLoaderRegistries(java.lang.ClassLoader classLoader)

loadRegistries

protected java.util.List loadRegistries(JRPropertiesMap properties)

instantiateRegistry

protected ExtensionsRegistry instantiateRegistry(JRPropertiesMap props,
                                                 java.lang.String registryId,
                                                 java.lang.String factoryClass)


Copyright © 2011. All Rights Reserved.