net.sf.jasperreports.extensions

## Class DefaultExtensionsRegistry

- java.lang.Object
- - 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 6863 2014-02-06 09:59:27Z teodord $
  Author:
    Lucian Chirita (lucianc@users.sourceforge.net)

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `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

    Constructors
    Constructor and Description
    `DefaultExtensionsRegistry()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected java.util.Map<java.net.URL,java.util.List<ExtensionsRegistry>>` | `getClassLoaderRegistries(java.lang.ClassLoader classLoader)`
    `<T> java.util.List<T>` | `getExtensions(java.lang.Class<T> extensionType)` Returns a list of extension objects for a specific extension type.
    `protected java.util.List<ExtensionsRegistry>` | `getRegistries()`
    `protected ExtensionsRegistry` | `instantiateRegistry(JRPropertiesMap props, java.lang.String registryId, java.lang.String factoryClass)`
    `protected java.util.List<ClassLoaderResource>` | `loadExtensionPropertyResources()`
    `protected java.util.List<ExtensionsRegistry>` | `loadRegistries()`
    `protected java.util.List<ExtensionsRegistry>` | `loadRegistries(java.net.URL url)`

    - ### 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 <T> java.util.List<T> getExtensions(java.lang.Class<T> extensionType)

      Description copied from interface: `ExtensionsRegistry`
      Returns a list of extension objects for a specific extension type.
      Specified by:
        `getExtensions` in interface `ExtensionsRegistry`
      Type Parameters:
        `T` - generic extension type
      Parameters:
        `extensionType` - the extension type
      Returns:
        a list of extension objects

    - #### getRegistries

          protected java.util.List<ExtensionsRegistry> getRegistries()

    - #### loadRegistries

          protected java.util.List<ExtensionsRegistry> loadRegistries()

    - #### loadExtensionPropertyResources

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

    - #### getClassLoaderRegistries

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

    - #### loadRegistries

          protected java.util.List<ExtensionsRegistry> loadRegistries(java.net.URL url)

    - #### instantiateRegistry

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

© 2001-2010 Jaspersoft Corporation www.jaspersoft.com