Spring Integration

org.springframework.integration.json
Class ObjectToJsonTransformer

java.lang.Object
  extended by org.springframework.integration.context.IntegrationObjectSupport
      extended by org.springframework.integration.transformer.AbstractTransformer
          extended by org.springframework.integration.json.ObjectToJsonTransformer
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 ObjectToJsonTransformer
extends AbstractTransformer

Transformer implementation that converts a payload instance into a JSON string representation. By default this transformer uses JacksonJsonObjectMapperProvider factory to get an instance of a Jackson 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, James Carr, Oleg Zhurakousky, Gary Russell, Artem Bilan

Field Summary
static java.lang.String JSON_CONTENT_TYPE
           
 
Fields inherited from class org.springframework.integration.context.IntegrationObjectSupport
logger
 
Constructor Summary
ObjectToJsonTransformer()
           
ObjectToJsonTransformer(JsonObjectMapper<?> jsonObjectMapper)
           
ObjectToJsonTransformer(java.lang.Object objectMapper)
          Deprecated. in favor of ObjectToJsonTransformer(JsonObjectMapper)
 
Method Summary
protected  java.lang.Object doTransform(Message<?> message)
          Subclasses must implement this method to provide the transformation logic.
 void setContentType(java.lang.String contentType)
          Sets the content-type header value
 
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
 

Field Detail

JSON_CONTENT_TYPE

public static final java.lang.String JSON_CONTENT_TYPE
See Also:
Constant Field Values
Constructor Detail

ObjectToJsonTransformer

@Deprecated
public ObjectToJsonTransformer(java.lang.Object objectMapper)
Deprecated. in favor of ObjectToJsonTransformer(JsonObjectMapper)

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


ObjectToJsonTransformer

public ObjectToJsonTransformer(JsonObjectMapper<?> jsonObjectMapper)

ObjectToJsonTransformer

public ObjectToJsonTransformer()
Method Detail

setContentType

public void setContentType(java.lang.String contentType)
Sets the content-type header value

Parameters:
contentType -

doTransform

protected java.lang.Object doTransform(Message<?> message)
                                throws java.lang.Exception
Description copied from class: AbstractTransformer
Subclasses must implement this method to provide the transformation logic. If the return value is itself a Message, it will be used as the result. Otherwise, any non-null return value will be used as the payload of the result Message.

Specified by:
doTransform in class AbstractTransformer
Throws:
java.lang.Exception

Spring Integration