Class MapToObjectTransformer
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.transformer.AbstractTransformer
org.springframework.integration.transformer.AbstractPayloadTransformer<Map<?,?>,Object>
org.springframework.integration.transformer.MapToObjectTransformer
- All Implemented Interfaces:
Aware
,BeanFactoryAware
,BeanNameAware
,InitializingBean
,ApplicationContextAware
,ExpressionCapable
,NamedComponent
,GenericTransformer<Message<?>,Message<?>>
,Transformer
public class MapToObjectTransformer extends AbstractPayloadTransformer<Map<?,?>,Object>
Will transform Map to an instance of Object. There are two ways to specify the type of the transformed Object.
You can use one of two constructors. The constructor that takes the Class<?> as an argument will construct the Object of
that type. There is another constructor that takes a 'beanName' as an argument and will populate this bean with transformed data.
Such bean must be of 'prototype' scope otherwise
MessageTransformationException
will be thrown.
This transformer is integrated with the ConversionService
allowing values in the Map to be converted
to types that represent the properties of the Object.- Since:
- 2.0
- Author:
- Oleg Zhurakousky, Artem Bilan
-
Field Summary
Fields inherited from class org.springframework.integration.context.IntegrationObjectSupport
EXPRESSION_PARSER, logger
-
Constructor Summary
Constructors Constructor Description MapToObjectTransformer(Class<?> targetClass)
MapToObjectTransformer(String beanName)
-
Method Summary
Modifier and Type Method Description String
getComponentType()
Subclasses may implement this method to provide component type information.protected void
onInit()
Subclasses may implement this for initialization logic.protected Object
transformPayload(Map<?,?> payload)
Methods inherited from class org.springframework.integration.transformer.AbstractPayloadTransformer
doTransform
Methods inherited from class org.springframework.integration.transformer.AbstractTransformer
transform
Methods inherited from class org.springframework.integration.context.IntegrationObjectSupport
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString
-
Constructor Details
-
MapToObjectTransformer
- Parameters:
targetClass
- The target class.
-
MapToObjectTransformer
- Parameters:
beanName
- The bean name.
-
-
Method Details
-
getComponentType
Description copied from class:IntegrationObjectSupport
Subclasses may implement this method to provide component type information.- Specified by:
getComponentType
in interfaceNamedComponent
- Overrides:
getComponentType
in classIntegrationObjectSupport
-
onInit
protected void onInit()Description copied from class:IntegrationObjectSupport
Subclasses may implement this for initialization logic.- Overrides:
onInit
in classIntegrationObjectSupport
-
transformPayload
- Specified by:
transformPayload
in classAbstractPayloadTransformer<Map<?,?>,Object>
-