de.unihalle.informatik.Alida.dataconverter
Class ALDDataConverterManager

java.lang.Object
  extended by de.unihalle.informatik.Alida.dataconverter.ALDDataConverterManager

public class ALDDataConverterManager
extends java.lang.Object

This class implements a provider manager for data conversion.

For data input, it essentially looks up the correct provider for GUI-based execution using the method of its super class and invokes its method.

It does its work in collaboration with ALDDataConverter.

Author:
posch

Nested Class Summary
static class ALDDataConverterManager.ALDSourceTargetClassPair
          A pair of source and target pair (of a converter)
 
Field Summary
private static boolean debug
           
(package private) static ALDDataConverterManager instance
          The singleton instance of this class.
protected  java.util.HashMap<java.lang.String,java.util.Collection<java.lang.String>> mapTable
          Hashtable containing mappings of class pairs to a collection of provider class names.
 
Constructor Summary
private ALDDataConverterManager()
          Private constructor which initializes the provider map.
 
Method Summary
 java.lang.Object convert(ALDDataConverter provider, java.lang.Object sourceObject, java.lang.reflect.Field sourceField, java.lang.Class<?> targetClass, java.lang.reflect.Field targetField)
          Convert the sourceObject into an object of class targetClass.
 java.lang.Object convert(java.lang.Object sourceObject, java.lang.Class<?> targetClass)
          Convert the sourceObject into an object of class targetClass.
 java.lang.Object convert(java.lang.Object sourceObject, java.lang.reflect.Field sourceField, java.lang.Class<?> targetClass, java.lang.reflect.Field targetField)
           
 java.lang.Object convert(java.lang.Object sourceObject, java.lang.reflect.Type[] sourceTypes, java.lang.Class<?> targetClass, java.lang.reflect.Type[] targetTypes)
          Convert the sourceObject into an object of class targetClass.
static ALDDataConverterManager getInstance()
          Return the single instance of this class
 ALDDataConverter getProvider(java.lang.Class<?> sourceClass, java.lang.reflect.Field sourceField, java.lang.Class<?> targetClass, java.lang.reflect.Field targetField)
           
 ALDDataConverter getProvider(java.lang.Class<?> sourceClass, java.lang.reflect.Type[] sourceTypes, java.lang.Class<?> targetClass, java.lang.reflect.Type[] targetTypes)
          Method to return an instance of the data converter provider for given classes.
protected static java.util.HashMap<java.lang.String,java.util.Collection<java.lang.String>> initMapTable()
          Method to initialize the hashmap which registers data conversion providers.
static void printMap(java.util.HashMap<java.lang.String,java.util.Collection<java.lang.String>> mapTable)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

debug

private static boolean debug

instance

static final ALDDataConverterManager instance
The singleton instance of this class.


mapTable

protected java.util.HashMap<java.lang.String,java.util.Collection<java.lang.String>> mapTable
Hashtable containing mappings of class pairs to a collection of provider class names.

Constructor Detail

ALDDataConverterManager

private ALDDataConverterManager()
Private constructor which initializes the provider map.

Throws:
ALDDataConverterManagerException
Method Detail

convert

public java.lang.Object convert(ALDDataConverter provider,
                                java.lang.Object sourceObject,
                                java.lang.reflect.Field sourceField,
                                java.lang.Class<?> targetClass,
                                java.lang.reflect.Field targetField)
                         throws ALDDataConverterManagerException,
                                ALDDataConverterException
Convert the sourceObject into an object of class targetClass.

Parameters:
sourceObject -
sourceTypes -
targetClass -
targetTypes -
Returns:
Throws:
ALDDataConverterManagerException
ALDDataConverterException

convert

public java.lang.Object convert(java.lang.Object sourceObject,
                                java.lang.Class<?> targetClass)
                         throws ALDDataConverterManagerException,
                                ALDDataConverterException
Convert the sourceObject into an object of class targetClass.

Parameters:
sourceObject -
targetClass -
Returns:
converted object
Throws:
ALDDataConverterManagerException
ALDDataConverterException

convert

public java.lang.Object convert(java.lang.Object sourceObject,
                                java.lang.reflect.Field sourceField,
                                java.lang.Class<?> targetClass,
                                java.lang.reflect.Field targetField)
                         throws ALDDataConverterManagerException,
                                ALDDataConverterException
Throws:
ALDDataConverterManagerException
ALDDataConverterException

convert

public java.lang.Object convert(java.lang.Object sourceObject,
                                java.lang.reflect.Type[] sourceTypes,
                                java.lang.Class<?> targetClass,
                                java.lang.reflect.Type[] targetTypes)
                         throws ALDDataConverterException,
                                ALDDataConverterManagerException
Convert the sourceObject into an object of class targetClass.

Parameters:
sourceObject -
sourceTypes -
targetClass -
targetTypes -
Returns:
Throws:
ALDDataConverterException
ALDDataConverterManagerException

getInstance

public static ALDDataConverterManager getInstance()
Return the single instance of this class

Returns:
Single instance.

getProvider

public ALDDataConverter getProvider(java.lang.Class<?> sourceClass,
                                    java.lang.reflect.Field sourceField,
                                    java.lang.Class<?> targetClass,
                                    java.lang.reflect.Field targetField)
                             throws ALDDataConverterManagerException
Throws:
ALDDataConverterManagerException

getProvider

public ALDDataConverter getProvider(java.lang.Class<?> sourceClass,
                                    java.lang.reflect.Type[] sourceTypes,
                                    java.lang.Class<?> targetClass,
                                    java.lang.reflect.Type[] targetTypes)
                             throws ALDDataConverterManagerException
Method to return an instance of the data converter provider for given classes.

Parameters:
sourceClass -
targetClass -
Returns:
Provider instance.
Throws:
ALDDataConverterManagerException
ALDDataIOManagerException

initMapTable

protected static java.util.HashMap<java.lang.String,java.util.Collection<java.lang.String>> initMapTable()
Method to initialize the hashmap which registers data conversion providers.

Throws:
ALDDataConverterManagerException

printMap

public static void printMap(java.util.HashMap<java.lang.String,java.util.Collection<java.lang.String>> mapTable)