Version: 3.5.0

org.generationcp.core.datatransformer
Class DataTransformerRegistry

java.lang.Object
  extended by org.generationcp.core.datatransformer.DataTransformerRegistry

public class DataTransformerRegistry
extends java.lang.Object

A class representing a registry that maintains a list of the data transformers that are available for the current application.

The DataTransformerRegistry should be accessed through a singleton instance obtained by calling instance(). This instance is initialised using the SPI (Service Provider Interface) discovery mechanism. This mechanism first loads all available data transformer factories and then collects from them all available data transformers.

It also has a convenient method getDataTransformers() returning all complying data transformers.

TBD: How does this Singleton pattern work in Tomcat, across several web applications?

Version:
$Id: DataTransformerRegistry.html 19678 2010-07-23 23:41:44Z jbmorales $
Author:
Martin Senger

Method Summary
 void addDataTransformer(DataTransformer dataTransformer)
          Add a data transformer to this registry.
 DataTransformer getDataTransformer(java.lang.String uniqueIdentifier)
          Gets a data transformer from this registry by its unique identifier.
 java.util.List<DataTransformer> getDataTransformers()
          Return all registered data transformers.
 java.util.List<DataTransformer> getDataTransformers(ConsumableType consumableType)
          Return all registered data transformers that are able to transform given data, in the given context.
 java.util.List<DataTransformer> getDataTransformersByName(java.lang.String name)
          Gets data transformers from this registry by name.
 boolean hasDataTransformer(java.lang.String uniqueIdentifier)
          Determines a specific a data transformer exists in this registy.
static DataTransformerRegistry instance()
          The only way how to create a DataTransformerRegistry instance (because there are no public constructors in this class).
 void removeDataTransformer(DataTransformer dataTransformer)
          Remove a data transformer from this registry.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

instance

public static DataTransformerRegistry instance()
The only way how to create a DataTransformerRegistry instance (because there are no public constructors in this class).

Returns:
a singleton instance of a DataTransformerRegistry that is aware of all available data transformers

getDataTransformers

public java.util.List<DataTransformer> getDataTransformers()
Return all registered data transformers.


getDataTransformers

public java.util.List<DataTransformer> getDataTransformers(ConsumableType consumableType)
Return all registered data transformers that are able to transform given data, in the given context.

Parameters:
consumableType - indicates type of data that all returned data transformers can process (transform)
Returns:
all complying data transformers, or an empty list (not null) if there are no such data transformers

getDataTransformer

public DataTransformer getDataTransformer(java.lang.String uniqueIdentifier)
Gets a data transformer from this registry by its unique identifier.

Parameters:
uniqueIdentifier - the unique identifier of the data transformer to be retrieved
Returns:
the data transformer identified by the given unique identifier or null if no such data transformer exists in this registry

hasDataTransformer

public boolean hasDataTransformer(java.lang.String uniqueIdentifier)
Determines a specific a data transformer exists in this registy.

Parameters:
uniqueIdentifier - the unique identifier of the data transformer to be looked for
Returns:
true if the data transformer exists in this registry, false otherwise

getDataTransformersByName

public java.util.List<DataTransformer> getDataTransformersByName(java.lang.String name)
Gets data transformers from this registry by name.

Parameters:
name - the name of the data transformers to be retrived
Returns:
the data transformers identified by the given name or empty list if not such data transformers exists in this registry

addDataTransformer

public void addDataTransformer(DataTransformer dataTransformer)
Add a data transformer to this registry. Use this method if the automatic registration (via SPI mechanism) is not good enough.

Parameters:
dataTransformer - to be added

removeDataTransformer

public void removeDataTransformer(DataTransformer dataTransformer)
Remove a data transformer from this registry.

Parameters:
dataTransformer - to be removed

Version: 3.5.0

Submit a bug or feature
Generated: Fri Jul 23 18:24:48 CDT 2010