org.apache.tuscany.sca.implementation.xquery
Class XQueryImplementationProvider

java.lang.Object
  extended by org.apache.tuscany.sca.implementation.xquery.XQueryImplementationProvider
All Implemented Interfaces:
ImplementationProvider

public class XQueryImplementationProvider
extends java.lang.Object
implements ImplementationProvider

Provides the runtime configuration of XQuery-typed component. Generally the following is done: 1. During construction all services and references are provided with the Saxon data binding, which is the one required by the XQueryInvoker 2. During startup: - a proxy is created for each reference and it is kept in the referenceProxies map, which is used later by the invoker to configure the Saxon parser; - each property value is read and put into the properties map. This is again used by the invoker to configure the Saxon parser


Constructor Summary
XQueryImplementationProvider(RuntimeComponent component, XQueryImplementation implementation, JavaPropertyValueObjectFactory factory)
           
 
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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XQueryImplementationProvider

public XQueryImplementationProvider(RuntimeComponent component,
                                    XQueryImplementation implementation,
                                    JavaPropertyValueObjectFactory factory)
Method Detail

createInvoker

public Invoker createInvoker(RuntimeComponentService service,
                             Operation operation)
Description copied from interface: ImplementationProvider
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.

Specified by:
createInvoker in interface ImplementationProvider
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

public boolean supportsOneWayInvocation()
Description copied from interface: ImplementationProvider
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.

Specified by:
supportsOneWayInvocation in interface ImplementationProvider
Returns:
true if the callback invoker is able to invoke one-way operations asynchronously, false if all invocations are synchronous

start

public void start()
Description copied from interface: ImplementationProvider
This method will be invoked when the component implementation is activated.

Specified by:
start in interface ImplementationProvider

stop

public void stop()
Description copied from interface: ImplementationProvider
This method will be invoked when the component implementation is deactivated.

Specified by:
stop in interface ImplementationProvider