org.mule.model.resolvers
Class ReflectionEntryPointResolver

java.lang.Object
  extended by org.mule.model.resolvers.AbstractEntryPointResolver
      extended by org.mule.model.resolvers.ReflectionEntryPointResolver
All Implemented Interfaces:
EntryPointResolver
Direct Known Subclasses:
AbstractArgumentEntryPointResolver

public class ReflectionEntryPointResolver
extends AbstractEntryPointResolver

ReflectEntryPointResolver is used to determine the entry point on a service after an event has been received for it. The entrypoint is discovered using the event payload type(s) as the argument using reflection. An entry point will try and match for different argument types, so it's possible to have multiple entry points on a single service.

For multiple parameters the payload of context.getMessage().getPayload() should be an Array of objects. If the message payload is of type NullPayload the resolver will look for a no-argument method to call that doesn't match the set of ignoredMethods on the resolver.

Also a set of 'ignored' methods are available (and the use can add others) to tell the resolver to not resolve to these methods. The default ones are:

Note that wildcard expressions can be used.


Field Summary
protected  WildcardFilter filter
           
 
Fields inherited from class org.mule.model.resolvers.AbstractEntryPointResolver
logger, methodCache
 
Constructor Summary
ReflectionEntryPointResolver()
           
 
Method Summary
 void addIgnoredMethod(String name)
           
 Collection getIgnoredMethods()
          Returns an unmodifable Set of ignoredMethods on this resolver To add method to the resolver use addIgnoredMethod(String)
 InvocationResult invoke(Object component, MuleEventContext context)
          Will discover the entrypoint on the service using the payload type to figure out the method to call.
 boolean removeIgnoredMethod(String name)
           
 void setIgnoredMethods(Collection methods)
           
 String toString()
           
 
Methods inherited from class org.mule.model.resolvers.AbstractEntryPointResolver
addMethodByArguments, addMethodByName, getCacheKeyForPayload, getMethodByArguments, getMethodByName, getPayloadFromMessage, invokeMethod, isAcceptVoidMethods, isTransformFirst, setAcceptVoidMethods, setTransformFirst
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

filter

protected WildcardFilter filter
Constructor Detail

ReflectionEntryPointResolver

public ReflectionEntryPointResolver()
Method Detail

getIgnoredMethods

public Collection getIgnoredMethods()
Returns an unmodifable Set of ignoredMethods on this resolver To add method to the resolver use addIgnoredMethod(String)

Returns:
unmodifiable set of method names set on this resolver

setIgnoredMethods

public void setIgnoredMethods(Collection methods)

addIgnoredMethod

public void addIgnoredMethod(String name)

removeIgnoredMethod

public boolean removeIgnoredMethod(String name)

invoke

public InvocationResult invoke(Object component,
                               MuleEventContext context)
                        throws Exception
Will discover the entrypoint on the service using the payload type to figure out the method to call. For multiple parameters the payload of context.getMessage().geTPayload() should be an Array of objects. If the message payload is of type NullPayload the resolver will look for a no-argument method to call that doesn't match the set of ignoredMethods on the resover.

Parameters:
service -
context -
Returns:
Throws:
Exception

toString

public String toString()
Overrides:
toString in class AbstractEntryPointResolver


Copyright © 2003-2009 MuleSource, Inc.. All Rights Reserved.