org.apache.tuscany.sca.binding.notification
Class NotificationReferenceBindingProvider

java.lang.Object
  extended by org.apache.tuscany.sca.binding.notification.NotificationReferenceBindingProvider
All Implemented Interfaces:
NotificationServlet.NotificationServletStreamHandler, ReferenceBindingProvider

public class NotificationReferenceBindingProvider
extends java.lang.Object
implements ReferenceBindingProvider, NotificationServlet.NotificationServletStreamHandler

The runtime representation of the notification reference binding


Constructor Summary
NotificationReferenceBindingProvider(NotificationBinding notificationBinding, RuntimeComponent component, RuntimeComponentReference reference, ServletHost servletHost, NotificationTypeManager ntm, EncodingRegistry encodingRegistry, java.lang.String httpUrl, NotificationBrokerManager brokerManager)
           
 
Method Summary
 Invoker createInvoker(Operation operation)
          Create an invoker for the reference binding in the invocation chain.
 void deployBroker(java.lang.String brokerID, EndpointReference brokerConsumerEPR, java.util.List<EndpointReference> consumerList)
           
 void deployProducer()
           
 NotificationBinding getBinding()
           
 InterfaceContract getBindingInterfaceContract()
          Get the effective interface contract imposed by the binding.
 java.lang.String getBrokerID()
           
 java.util.List<org.apache.tuscany.sca.binding.notification.NotificationReferenceBindingProvider.SubscriberInfo> getSubscribers()
           
 java.net.URL getURL()
           
 void handle(java.util.Map<java.lang.String,java.lang.String> headers, ServletInputStream istream, int contentLength, ServletOutputStream ostream)
           
 boolean isStarted()
           
 void setBrokerID(java.lang.String brokerID)
           
 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.
 void undeployBroker(java.net.URL brokerConsumerUrl)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NotificationReferenceBindingProvider

public NotificationReferenceBindingProvider(NotificationBinding notificationBinding,
                                            RuntimeComponent component,
                                            RuntimeComponentReference reference,
                                            ServletHost servletHost,
                                            NotificationTypeManager ntm,
                                            EncodingRegistry encodingRegistry,
                                            java.lang.String httpUrl,
                                            NotificationBrokerManager brokerManager)
Method Detail

getBinding

public NotificationBinding getBinding()

getURL

public java.net.URL getURL()

isStarted

public boolean isStarted()

setBrokerID

public void setBrokerID(java.lang.String brokerID)

getBrokerID

public java.lang.String getBrokerID()

createInvoker

public Invoker createInvoker(Operation operation)
Description copied from interface: ReferenceBindingProvider
Create an invoker for the reference binding in the invocation chain. The invoker is responsible for making the outbound invocation over the binding protocol.

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

supportsOneWayInvocation

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

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

getBindingInterfaceContract

public InterfaceContract getBindingInterfaceContract()
Description copied from interface: ReferenceBindingProvider
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.

Specified by:
getBindingInterfaceContract in interface ReferenceBindingProvider
Returns:
The effective interface contract, if null is returned, the interface contract for the component reference will be used

start

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

Specified by:
start in interface ReferenceBindingProvider

stop

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

Specified by:
stop in interface ReferenceBindingProvider

deployProducer

public void deployProducer()

deployBroker

public void deployBroker(java.lang.String brokerID,
                         EndpointReference brokerConsumerEPR,
                         java.util.List<EndpointReference> consumerList)

undeployBroker

public void undeployBroker(java.net.URL brokerConsumerUrl)

handle

public void handle(java.util.Map<java.lang.String,java.lang.String> headers,
                   ServletInputStream istream,
                   int contentLength,
                   ServletOutputStream ostream)
Specified by:
handle in interface NotificationServlet.NotificationServletStreamHandler

getSubscribers

public java.util.List<org.apache.tuscany.sca.binding.notification.NotificationReferenceBindingProvider.SubscriberInfo> getSubscribers()