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

java.lang.Object
  extended by org.apache.tuscany.sca.binding.notification.NotificationTypeManagerImpl
All Implemented Interfaces:
NotificationTypeManager

public class NotificationTypeManagerImpl
extends java.lang.Object
implements NotificationTypeManager

A notification type manager serves as a registry of producers and consumers, or brokers, for any notification type. This class implements an interface that allows a reference provider (a producer), a service provider (a consumer), or both (a broker, via the provider factory), to access locally the ntm for its notification type, regardless of whether the ntm resides locally or remotely. At a given host there is only one reference provider and/or one service provider for any given notification type. So, if the ntm for a notification type resides locally, then it is invoked exclusively by either a reference provider (newProducer), a service provider (newConsumer), or a provider factory (newBroker). And since these invocations occur when the providers are being created then all three of consumerLists, producerLists and brokerLists must be null when these invocations occur.


Constructor Summary
NotificationTypeManagerImpl()
           
 
Method Summary
 void init()
           
 boolean newBroker(java.net.URI notificationType, java.net.URL consumerUrl, java.net.URL producerUrl, java.lang.String brokerID, java.net.URL remoteNtmUrl, java.util.List<EndpointReference> consumerListResult, java.util.List<EndpointReference> producerListResult)
           
 void newBrokerAck(java.net.URL remoteNtmUrl)
           
 java.lang.String newConsumer(java.net.URI notificationType, java.net.URL consumerUrl, java.net.URL remoteNtmUrl, java.util.List<java.net.URL> producerListResult)
           
 java.lang.String newProducer(java.net.URI notificationType, java.net.URL producerUrl, java.net.URL remoteNtmUrl, java.util.List<java.net.URL> consumerListResult)
           
 void removeBroker(EndpointReference brokerConsumerEpr, java.util.List<EndpointReference> neighborBrokerConsumerEprs, java.net.URL remoteNtmUrl)
           
 void setEncodingRegistry(EncodingRegistry encodingRegistry)
           
 void setServletHost(ServletHost servletHost)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NotificationTypeManagerImpl

public NotificationTypeManagerImpl()
Method Detail

setServletHost

public void setServletHost(ServletHost servletHost)

setEncodingRegistry

public void setEncodingRegistry(EncodingRegistry encodingRegistry)

init

public void init()

newConsumer

public java.lang.String newConsumer(java.net.URI notificationType,
                                    java.net.URL consumerUrl,
                                    java.net.URL remoteNtmUrl,
                                    java.util.List<java.net.URL> producerListResult)
Specified by:
newConsumer in interface NotificationTypeManager

newProducer

public java.lang.String newProducer(java.net.URI notificationType,
                                    java.net.URL producerUrl,
                                    java.net.URL remoteNtmUrl,
                                    java.util.List<java.net.URL> consumerListResult)
Specified by:
newProducer in interface NotificationTypeManager

newBroker

public boolean newBroker(java.net.URI notificationType,
                         java.net.URL consumerUrl,
                         java.net.URL producerUrl,
                         java.lang.String brokerID,
                         java.net.URL remoteNtmUrl,
                         java.util.List<EndpointReference> consumerListResult,
                         java.util.List<EndpointReference> producerListResult)
Specified by:
newBroker in interface NotificationTypeManager

newBrokerAck

public void newBrokerAck(java.net.URL remoteNtmUrl)
Specified by:
newBrokerAck in interface NotificationTypeManager

removeBroker

public void removeBroker(EndpointReference brokerConsumerEpr,
                         java.util.List<EndpointReference> neighborBrokerConsumerEprs,
                         java.net.URL remoteNtmUrl)
Specified by:
removeBroker in interface NotificationTypeManager