org.apache.tuscany.sca.provider
Interface ImplementationProvider

All Known Subinterfaces:
ScopedImplementationProvider
All Known Implementing Classes:
BPELImplementationProvider, ImplementationImplementationProvider, JavaImplementationProvider, NotificationImplementationProvider, OSGiImplementationProvider, SpringImplementationProvider, XQueryImplementationProvider

public interface ImplementationProvider

A component implementation can implement this interface in order to tie into the Tuscany runtime


Method Summary
 Invoker createInvoker(RuntimeComponentService service, Operation operation)
          Create an invoker for the component implementation in the invocation chain.
 void start()
          This method will be invoked when the component implementation is activated.
 void stop()
          This method will be invoked when the component implementation is deactivated.
 boolean supportsOneWayInvocation()
          For bindings that invoke one-way callback 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 implementation is activated.


stop

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


createInvoker

Invoker createInvoker(RuntimeComponentService service,
                      Operation operation)
Create an invoker for the component implementation in the invocation chain. The invoker will be responsible for calling the implementation logic for the given component.

Parameters:
service - The component service
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

supportsOneWayInvocation

boolean supportsOneWayInvocation()
For bindings that invoke one-way callback 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 callback invoker is able to invoke one-way operations asynchronously, false if all invocations are synchronous