org.apache.camel.converter.dozer
Class DozerTypeConverterLoader

java.lang.Object
  extended by org.apache.camel.support.ServiceSupport
      extended by org.apache.camel.converter.dozer.DozerTypeConverterLoader
All Implemented Interfaces:
org.apache.camel.CamelContextAware, org.apache.camel.Service, org.apache.camel.ShutdownableService, org.apache.camel.StatefulService, org.apache.camel.SuspendableService

public class DozerTypeConverterLoader
extends org.apache.camel.support.ServiceSupport
implements org.apache.camel.CamelContextAware

DozerTypeConverterLoader provides the mechanism for registering a Dozer Mapper as TypeConverter for a CamelContext.

While a mapper can be explicitly supplied as a parameter the CamelContext's registry will also be searched for Mapper instances. A DozerTypeConverter is created to wrap each Mapper instance and the mapper is queried for the types it converts. The queried types are used to register the TypeConverter with the context via its TypeConverterRegistry.


Field Summary
 
Fields inherited from class org.apache.camel.support.ServiceSupport
shutdown, shuttingdown, started, starting, stopped, stopping, suspended, suspending
 
Constructor Summary
DozerTypeConverterLoader()
          Creates a DozerTypeConverter performing no TypeConverter registration.
DozerTypeConverterLoader(org.apache.camel.CamelContext camelContext)
          Creates a DozerTypeConverter that will search the given CamelContext for instances of DozerBeanMapper.
DozerTypeConverterLoader(org.apache.camel.CamelContext camelContext, org.dozer.DozerBeanMapper mapper)
          Deprecated. 
DozerTypeConverterLoader(org.apache.camel.CamelContext camelContext, DozerBeanMapperConfiguration configuration)
          Creates a DozerTypeConverter using the given DozerBeanMapperConfiguration configuration.
 
Method Summary
protected  void addDozerTypeConverter(org.apache.camel.spi.TypeConverterRegistry registry, DozerTypeConverter converter, String dozerId, Class<?> to, Class<?> from)
           
 void addMapping(org.dozer.loader.api.BeanMappingBuilder beanMappingBuilder)
          Registers Dozer BeanMappingBuilder in current mapper instance.
protected  org.dozer.DozerBeanMapper createDozerBeanMapper(DozerBeanMapperConfiguration configuration)
          Creates a DozerBeanMapper from the given configuration.
protected  void doStart()
           
protected  void doStop()
           
 org.apache.camel.CamelContext getCamelContext()
           
 org.dozer.DozerBeanMapper getMapper()
           
 void init(org.apache.camel.CamelContext camelContext, org.dozer.DozerBeanMapper mapper)
          Doses the actual querying and registration of DozerTypeConverters with the CamelContext.
protected static URL loadMappingFile(org.apache.camel.spi.ClassResolver classResolver, String mappingFile)
           
protected  Map<String,DozerBeanMapperConfiguration> lookupDozerBeanMapperConfigurations()
          Lookup the dozer DozerBeanMapperConfiguration to be used.
protected  Map<String,org.dozer.DozerBeanMapper> lookupDozerBeanMappers()
          Lookup the dozer DozerBeanMapper to be used.
protected  void registerClassMaps(org.apache.camel.spi.TypeConverterRegistry registry, String dozerId, org.dozer.DozerBeanMapper dozer, List<org.dozer.classmap.ClassMap> all)
           
 void setCamelContext(org.apache.camel.CamelContext camelContext)
          Sets the CamelContext and also initializes this loader.
 void setMapper(org.dozer.DozerBeanMapper mapper)
           
 
Methods inherited from class org.apache.camel.support.ServiceSupport
doResume, doShutdown, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, resume, shutdown, start, stop, suspend
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DozerTypeConverterLoader

public DozerTypeConverterLoader()
Creates a DozerTypeConverter performing no TypeConverter registration.


DozerTypeConverterLoader

public DozerTypeConverterLoader(org.apache.camel.CamelContext camelContext)
Creates a DozerTypeConverter that will search the given CamelContext for instances of DozerBeanMapper. Each discovered instance will be wrapped as a DozerTypeConverter and register as a TypeConverter with the context

Parameters:
camelContext - the context to register the DozerTypeConverter in

DozerTypeConverterLoader

public DozerTypeConverterLoader(org.apache.camel.CamelContext camelContext,
                                DozerBeanMapperConfiguration configuration)
Creates a DozerTypeConverter using the given DozerBeanMapperConfiguration configuration.

Parameters:
camelContext - the context to register the DozerTypeConverter in
configuration - dozer mapping bean configuration.

DozerTypeConverterLoader

@Deprecated
public DozerTypeConverterLoader(org.apache.camel.CamelContext camelContext,
                                           org.dozer.DozerBeanMapper mapper)
Deprecated. 

Creates a DozerTypeConverter that will wrap the the given DozerBeanMapper as a DozerTypeConverter and register it with the given context. It will also search the context for

Parameters:
camelContext - the context to register the DozerTypeConverter in
mapper - the DozerMapperBean to be wrapped as a type converter.
Method Detail

init

public void init(org.apache.camel.CamelContext camelContext,
                 org.dozer.DozerBeanMapper mapper)
Doses the actual querying and registration of DozerTypeConverters with the CamelContext.

Parameters:
camelContext - the context to register the DozerTypeConverter in
mapper - the DozerMapperBean to be wrapped as a type converter.

createDozerBeanMapper

protected org.dozer.DozerBeanMapper createDozerBeanMapper(DozerBeanMapperConfiguration configuration)
Creates a DozerBeanMapper from the given configuration.

Parameters:
configuration - the dozer bean mapper configuration.
Returns:
the created mapper

lookupDozerBeanMappers

protected Map<String,org.dozer.DozerBeanMapper> lookupDozerBeanMappers()
Lookup the dozer DozerBeanMapper to be used.


lookupDozerBeanMapperConfigurations

protected Map<String,DozerBeanMapperConfiguration> lookupDozerBeanMapperConfigurations()
Lookup the dozer DozerBeanMapperConfiguration to be used.


registerClassMaps

protected void registerClassMaps(org.apache.camel.spi.TypeConverterRegistry registry,
                                 String dozerId,
                                 org.dozer.DozerBeanMapper dozer,
                                 List<org.dozer.classmap.ClassMap> all)

addDozerTypeConverter

protected void addDozerTypeConverter(org.apache.camel.spi.TypeConverterRegistry registry,
                                     DozerTypeConverter converter,
                                     String dozerId,
                                     Class<?> to,
                                     Class<?> from)

addMapping

public void addMapping(org.dozer.loader.api.BeanMappingBuilder beanMappingBuilder)
Registers Dozer BeanMappingBuilder in current mapper instance. This method should be called instead of direct mapper.addMapping() invocation for Camel being able to register given type conversion.

Parameters:
beanMappingBuilder - api-based mapping builder

getCamelContext

public org.apache.camel.CamelContext getCamelContext()
Specified by:
getCamelContext in interface org.apache.camel.CamelContextAware

setCamelContext

public void setCamelContext(org.apache.camel.CamelContext camelContext)
Sets the CamelContext and also initializes this loader.

The reason why init(org.apache.camel.CamelContext, org.dozer.DozerBeanMapper) is also called is because making using Dozer in Spring XML files easier, as no need to use the init-method attribute.

Specified by:
setCamelContext in interface org.apache.camel.CamelContextAware
Parameters:
camelContext - the CamelContext

getMapper

public org.dozer.DozerBeanMapper getMapper()

setMapper

public void setMapper(org.dozer.DozerBeanMapper mapper)

loadMappingFile

protected static URL loadMappingFile(org.apache.camel.spi.ClassResolver classResolver,
                                     String mappingFile)

doStart

protected void doStart()
                throws Exception
Specified by:
doStart in class org.apache.camel.support.ServiceSupport
Throws:
Exception

doStop

protected void doStop()
               throws Exception
Specified by:
doStop in class org.apache.camel.support.ServiceSupport
Throws:
Exception


Apache Camel