Spring Integration

org.springframework.integration.json
Class JsonToObjectTransformer<T>

java.lang.Object
  extended by org.springframework.integration.context.IntegrationObjectSupport
      extended by org.springframework.integration.transformer.AbstractTransformer
          extended by org.springframework.integration.transformer.AbstractPayloadTransformer<java.lang.String,T>
              extended by org.springframework.integration.json.JsonToObjectTransformer<T>
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.InitializingBean, org.springframework.context.ApplicationContextAware, NamedComponent, Transformer

public class JsonToObjectTransformer<T>
extends AbstractPayloadTransformer<java.lang.String,T>

Transformer implementation that converts a JSON string payload into an instance of the provided target Class. By default this transformer uses JacksonJsonObjectMapperProvider factory to get an instance of Jackson 1 or Jackson 2 JSON-processor JsonObjectMapper implementation depending on the jackson-databind or jackson-mapper-asl libs on the classpath. Any other JsonObjectMapper implementation can be provided.

Since:
2.0
Author:
Mark Fisher, Artem Bilan
See Also:
JsonObjectMapper, JacksonJsonObjectMapperProvider

Field Summary
 
Fields inherited from class org.springframework.integration.context.IntegrationObjectSupport
logger
 
Constructor Summary
JsonToObjectTransformer(java.lang.Class<T> targetClass)
           
JsonToObjectTransformer(java.lang.Class<T> targetClass, JsonObjectMapper<?> jsonObjectMapper)
           
JsonToObjectTransformer(java.lang.Class<T> targetClass, java.lang.Object objectMapper)
          Deprecated. in favor of JsonToObjectTransformer(Class, JsonObjectMapper)
 
Method Summary
protected  T transformPayload(java.lang.String 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, getApplicationContextId, getBeanFactory, getComponentName, getComponentType, getConversionService, getTaskScheduler, onInit, setApplicationContext, setBeanFactory, setBeanName, setComponentName, setConversionService, setTaskScheduler, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JsonToObjectTransformer

public JsonToObjectTransformer(java.lang.Class<T> targetClass)

JsonToObjectTransformer

@Deprecated
public JsonToObjectTransformer(java.lang.Class<T> targetClass,
                                          java.lang.Object objectMapper)
                        throws java.lang.ClassNotFoundException
Deprecated. in favor of JsonToObjectTransformer(Class, JsonObjectMapper)

Backward compatibility - allows existing configurations using Jackson 1.x to inject an ObjectMapper directly.

Throws:
java.lang.ClassNotFoundException

JsonToObjectTransformer

public JsonToObjectTransformer(java.lang.Class<T> targetClass,
                               JsonObjectMapper<?> jsonObjectMapper)
Method Detail

transformPayload

protected T transformPayload(java.lang.String payload)
                      throws java.lang.Exception
Specified by:
transformPayload in class AbstractPayloadTransformer<java.lang.String,T>
Throws:
java.lang.Exception

Spring Integration