org.mule.api.registry
Interface TransformerResolver

All Known Implementing Classes:
GraphTransformerResolver, JAXBTransformerResolver, JsonTransformerResolver, TypeBasedTransformerResolver

public interface TransformerResolver

A TransformResolver is used to find transformers that match a certain criteria in the registry. Implementations of this interface will use some or all of the information passed in to discover a matching transformer.

Any implementations of this interface must be registered with the registry before it will get picked up. Typically this is done using the registry-bootstrap.properties.

Since:
3.0.0

Nested Class Summary
static class TransformerResolver.RegistryAction
          Possible registry actions that occur that will trigger an event fired via transformerChange(Transformer, RegistryAction) method.
 
Method Summary
 Transformer resolve(DataType<?> source, DataType<?> result)
          Responsible for finding a transformer with the given criteria.
 void transformerChange(Transformer transformer, TransformerResolver.RegistryAction registryAction)
          A callback that is called when a transformer is registered or unregistered from the registry.
 

Method Detail

resolve

Transformer resolve(DataType<?> source,
                    DataType<?> result)
                    throws ResolverException
Responsible for finding a transformer with the given criteria. Note that if a transformer is not found null should be return, an exception must NOT be thrown.

Parameters:
source - information about the source object including the object iself
result - information about the result object to transform to
Returns:
a transformer from the registry that matches the criteria or null if a transformer was not found
Throws:
ResolverException - Only thrown if an exception is thrown during the search, this exception will just be a wrapper

transformerChange

void transformerChange(Transformer transformer,
                       TransformerResolver.RegistryAction registryAction)
A callback that is called when a transformer is registered or unregistered from the registry. This is used in situations where the resolver caches transformers and the cache needs to be updated.

Parameters:
transformer - the transformer that has changed
registryAction - whether the transformer was added or removed


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