org.apache.tuscany.sca.provider
Interface ReferenceBindingProvider

All Known Subinterfaces:
ReferenceBindingProviderRRB
All Known Implementing Classes:
Axis2ReferenceBindingProvider, Axis2SCAReferenceBindingProvider, CorbaReferenceBindingProvider, CorbaSCAReferenceBindingProvider, EJBBindingReferenceBindingProvider, JMSBindingReferenceBindingProvider, JSONRPCReferenceBindingProvider, NotificationReferenceBindingProvider, RMIReferenceBindingProvider, RuntimeSCABindingProvider, RuntimeSCAReferenceBindingProvider

public interface ReferenceBindingProvider

A reference binding implementation can options implement this interface to tie into the Tuscany SCA runtime


Method Summary
 Invoker createInvoker(Operation operation)
          Create an invoker for the reference binding in the invocation chain.
 InterfaceContract getBindingInterfaceContract()
          Get the effective interface contract imposed by the binding.
 void start()
          This method will be invoked when the component reference binding is activated.
 void stop()
          This method will be invoked when the component reference binding is deactivated.
 boolean supportsOneWayInvocation()
          For bindings that invoke one-way operations asynchronously, there is no need to perform a thread switch before calling the invoker.
 

Method Detail

start

void start()
This method will be invoked when the component reference binding is activated.


stop

void stop()
This method will be invoked when the component reference binding is deactivated.


createInvoker

Invoker createInvoker(Operation operation)
Create an invoker for the reference binding in the invocation chain. The invoker is responsible for making the outbound invocation over the binding protocol.

Parameters:
operation - The operation that the interceptor will handle
Returns:
An invoker that handles the invocation logic, null should be returned if no invoker is required

getBindingInterfaceContract

InterfaceContract getBindingInterfaceContract()
Get the effective interface contract imposed by the binding. For example, it will be interface contract introspected from the WSDL portType used by the endpoint for a WebService binding.

Returns:
The effective interface contract, if null is returned, the interface contract for the component reference will be used

supportsOneWayInvocation

boolean supportsOneWayInvocation()
For bindings that invoke one-way operations asynchronously, there is no need to perform a thread switch before calling the invoker. This method indicates whether the binding has this capability.

Returns:
true if the binding invoker is able to invoke one-way operations asynchronously, false if all invocations are synchronous