org.mule.module.ibeans.config
Class CallInterfaceBinding

java.lang.Object
  extended by org.mule.module.ibeans.config.CallInterfaceBinding
All Implemented Interfaces:
InterfaceBinding, MessageProcessor

public class CallInterfaceBinding
extends Object
implements InterfaceBinding, MessageProcessor

An instance of a binding that matches iBean method name with an endpoint to invoke. Each method annotated with Call or Template has an associated component binding associated with it.


Field Summary
protected  OutboundEndpoint endpoint
           
protected static Log logger
           
 
Constructor Summary
CallInterfaceBinding(FlowConstruct flow)
           
 
Method Summary
 Object createProxy(Object target)
          This wires the dynamic proxy to the service object.
 ImmutableEndpoint getEndpoint()
           
 Class<?> getInterface()
           
 Class<?> getInterfaceClass()
           
 String getMethod()
           
 MuleEvent process(MuleEvent event)
          This method is responsible for routing the Message via the MuleSession.
 MuleMessage route(MuleMessage message, MuleSession session)
           
 void setEndpoint(ImmutableEndpoint e)
           
 void setInterface(Class<?> interfaceClass)
           
 void setMethod(String methodName)
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

logger

protected static final Log logger

endpoint

protected OutboundEndpoint endpoint
Constructor Detail

CallInterfaceBinding

public CallInterfaceBinding(FlowConstruct flow)
Method Detail

process

public MuleEvent process(MuleEvent event)
                  throws MuleException
Description copied from interface: InterfaceBinding
This method is responsible for routing the Message via the MuleSession. The logic for this method will change for each type of router depending on expected behaviour. For example, a MulticastingRouter might just iterate through the list of assoaciated endpoints sending the message. Another type of router such as the ExceptionBasedRouter will hit the first endpoint, if it fails try the second, and so on. Most router implementations will extends the FilteringOutboundRouter which implements all the common logic need for a router.

Specified by:
process in interface InterfaceBinding
Specified by:
process in interface MessageProcessor
Parameters:
event - MuleEvent to be processed
Returns:
a result message if any from the invocation. If the endpoint bound has a one-way exchange pattern configured a null result will always be returned.
Throws:
MuleException
See Also:
FilteringOutboundRouter, ExceptionBasedRouter, MulticastingRouter

route

public MuleMessage route(MuleMessage message,
                         MuleSession session)
                  throws MuleException
Throws:
MuleException

setInterface

public void setInterface(Class<?> interfaceClass)
Specified by:
setInterface in interface InterfaceBinding

getInterface

public Class<?> getInterface()
Specified by:
getInterface in interface InterfaceBinding

getMethod

public String getMethod()
Specified by:
getMethod in interface InterfaceBinding

setMethod

public void setMethod(String methodName)
Specified by:
setMethod in interface InterfaceBinding

createProxy

public Object createProxy(Object target)
Description copied from interface: InterfaceBinding
This wires the dynamic proxy to the service object.

Specified by:
createProxy in interface InterfaceBinding

setEndpoint

public void setEndpoint(ImmutableEndpoint e)
Specified by:
setEndpoint in interface InterfaceBinding

getInterfaceClass

public Class<?> getInterfaceClass()

toString

public String toString()
Overrides:
toString in class Object

getEndpoint

public ImmutableEndpoint getEndpoint()
Specified by:
getEndpoint in interface InterfaceBinding


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