org.mule.module.json.transformers
Class JsonTransformerResolver

java.lang.Object
  extended by org.mule.module.json.transformers.JsonTransformerResolver
All Implemented Interfaces:
MuleContextAware, Disposable, TransformerResolver

public class JsonTransformerResolver
extends Object
implements TransformerResolver, MuleContextAware, Disposable

A TransformerResolver implementation used to discover whether the current transform requests requires Json mashaling. The resolver will scan the source and return type for Jackson (http://jackson.codehaus.org) Json annotations and will configure a JSON transformer accordingly. The transformer is cached and will be used for any subsequent requests. The ObjectMapper instance needed for the transform can be discovered from the registry, this means one can be pre-configured in Spring or Guice. If there is no pre-configured ObjectMapper one will be created with the annotated JSON class. This context will cached with the transformer.

Since:
3.0

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.mule.api.registry.TransformerResolver
TransformerResolver.RegistryAction
 
Field Summary
static String JSON_MIME_TYPE
           
protected  Log logger
          logger used by this class
 
Fields inherited from interface org.mule.api.lifecycle.Disposable
PHASE_NAME
 
Constructor Summary
JsonTransformerResolver()
           
 
Method Summary
 void dispose()
           
protected  JsonMapperResolver getMapperResolver()
           
 Transformer resolve(DataType<?> source, DataType<?> result)
           
 void setMuleContext(MuleContext context)
           
 void transformerChange(Transformer transformer, TransformerResolver.RegistryAction registryAction)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

JSON_MIME_TYPE

public static final String JSON_MIME_TYPE
See Also:
Constant Field Values

logger

protected final transient Log logger
logger used by this class

Constructor Detail

JsonTransformerResolver

public JsonTransformerResolver()
Method Detail

setMuleContext

public void setMuleContext(MuleContext context)
Specified by:
setMuleContext in interface MuleContextAware

resolve

public Transformer resolve(DataType<?> source,
                           DataType<?> result)
                    throws ResolverException
Specified by:
resolve in interface TransformerResolver
Throws:
ResolverException

transformerChange

public void transformerChange(Transformer transformer,
                              TransformerResolver.RegistryAction registryAction)
Specified by:
transformerChange in interface TransformerResolver

dispose

public void dispose()
Specified by:
dispose in interface Disposable

getMapperResolver

protected JsonMapperResolver getMapperResolver()
                                        throws ResolverException
Throws:
ResolverException


Copyright © 2003-2011 MuleSoft, Inc.. All Rights Reserved.