org.jacorb.notification.servant
Class ProxyPullSupplierImpl

java.lang.Object
  extended byorg.jacorb.notification.servant.AbstractProxy
      extended byorg.jacorb.notification.servant.AbstractProxySupplier
          extended byorg.jacorb.notification.servant.ProxyPullSupplierImpl
All Implemented Interfaces:
org.apache.avalon.framework.configuration.Configurable, Disposable, FilterAdminOperations, FilterStage, ManageableServant, MessageConsumer, NotifySubscribeOperations, ProxyPullSupplierOperations, ProxySupplierOperations, PullSupplierOperations, PullSupplierOperations, QoSAdminOperations
Direct Known Subclasses:
ECProxyPullSupplierImpl

public class ProxyPullSupplierImpl
extends AbstractProxySupplier
implements ProxyPullSupplierOperations

Version:
$Id: ProxyPullSupplierImpl.java,v 1.7 2004/05/06 12:39:59 nicolas Exp $
Author:
Alphonse Bendt

Field Summary
 
Fields inherited from class org.jacorb.notification.servant.AbstractProxySupplier
scheduleDeliverPendingMessagesOperation_
 
Fields inherited from class org.jacorb.notification.servant.AbstractProxy
admin_, channelContext_, id_, isIDPublic_, lifetimeFilter_, logger_, offerManager_, priorityFilter_, qosSettings_, subscriptionManager_, thisServant_
 
Method Summary
 Object activate()
           
 void connect_any_pull_consumer(PullConsumer consumer)
           
 void deliverMessage(Message message)
          Deliver Event to the underlying Consumer.
 void deliverPendingData()
          process pending work. push events to its connected (Push)Consumer.
 void disableDelivery()
          Disable Deliveries. this MessageConsumer may not invoke remote operations. events are enqueued instead.
 void disconnect_pull_supplier()
           
protected  void disconnectClient()
          invoke the proxy specific disconnect method.
 void enableDelivery()
          activate deliveries. this MessageConsumer may invoke remote operations again.
 MessageConsumer getMessageConsumer()
          get the associated MessageConsumer or null.
 Servant getServant()
           
 java.util.List getSubsequentFilterStages()
          get FilterStages following this Node.
 boolean hasMessageConsumer()
          check if this FilterStage has a MessageConsumer associcated.
 ProxyType MyType()
           
 Any pull()
           
 Any try_pull(BooleanHolder hasEvent)
           
 
Methods inherited from class org.jacorb.notification.servant.AbstractProxySupplier
configure, connectClient, dispose, enqueue, getAllMessages, getAtLeastMessages, getErrorThreshold, getExecutor, getMessageBlocking, getMessageNoBlock, getPendingMessagesCount, getUpToMessages, handleFailedPushOperation, hasPendingData, isEnabled, isPushSupplier, MyAdmin, obtain_offered_types, preActivate, setTaskExecutor, setTaskExecutor, subscription_change
 
Methods inherited from class org.jacorb.notification.servant.AbstractProxy
_default_POA, add_filter, assertConnected, assertNotConnected, checkStillConnected, connectionResumed, connectionSuspended, deactivate, get_all_filters, get_filter, get_qos, getErrorCounter, getFilters, getID, getLifetimeFilter, getORB, getPOA, getPriorityFilter, getTaskProcessor, handleDisconnected, hasInterFilterGroupOperatorOR, hasLifetimeFilter, hasPriorityFilter, incErrorCounter, isConnected, isDisposed, isIDPublic, isSuspended, lifetime_filter, lifetime_filter, priority_filter, priority_filter, remove_all_filters, remove_filter, resetErrorCounter, resume_connection, set_qos, setDisposeHook, setID, setOfferManager, setORB, setPOA, setSubscriptionManager, setTaskProcessor, suspend_connection, validate_event_qos, validate_qos
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.omg.CosNotifyChannelAdmin.ProxySupplierOperations
lifetime_filter, lifetime_filter, MyAdmin, obtain_offered_types, priority_filter, priority_filter, validate_event_qos
 
Methods inherited from interface org.omg.CosNotification.QoSAdminOperations
get_qos, set_qos, validate_qos
 
Methods inherited from interface org.omg.CosNotifyFilter.FilterAdminOperations
add_filter, get_all_filters, get_filter, remove_all_filters, remove_filter
 
Methods inherited from interface org.omg.CosNotifyComm.NotifySubscribeOperations
subscription_change
 
Methods inherited from interface org.jacorb.notification.interfaces.MessageConsumer
getErrorCounter, incErrorCounter, isDisposed, resetErrorCounter
 

Method Detail

MyType

public ProxyType MyType()
Specified by:
MyType in interface ProxySupplierOperations
Specified by:
MyType in class AbstractProxy

disconnect_pull_supplier

public void disconnect_pull_supplier()
Specified by:
disconnect_pull_supplier in interface PullSupplierOperations

disconnectClient

protected void disconnectClient()
Description copied from class: AbstractProxy
invoke the proxy specific disconnect method.

Specified by:
disconnectClient in class AbstractProxy

pull

public Any pull()
         throws Disconnected
Specified by:
pull in interface PullSupplierOperations
Throws:
Disconnected

try_pull

public Any try_pull(BooleanHolder hasEvent)
             throws Disconnected
Specified by:
try_pull in interface PullSupplierOperations
Throws:
Disconnected

deliverMessage

public void deliverMessage(Message message)
Deliver Event to the underlying Consumer. As our Consumer is a PullConsumer we simply put the Events in a Queue. The PullConsumer will pull the Events out of the Queue at a later time.

Specified by:
deliverMessage in interface MessageConsumer

connect_any_pull_consumer

public void connect_any_pull_consumer(PullConsumer consumer)
                               throws AlreadyConnected
Specified by:
connect_any_pull_consumer in interface ProxyPullSupplierOperations
Throws:
AlreadyConnected

getSubsequentFilterStages

public java.util.List getSubsequentFilterStages()
Description copied from interface: FilterStage
get FilterStages following this Node.

Specified by:
getSubsequentFilterStages in interface FilterStage

getMessageConsumer

public MessageConsumer getMessageConsumer()
Description copied from interface: FilterStage
get the associated MessageConsumer or null.

Specified by:
getMessageConsumer in interface FilterStage

hasMessageConsumer

public boolean hasMessageConsumer()
Description copied from interface: FilterStage
check if this FilterStage has a MessageConsumer associcated.

Specified by:
hasMessageConsumer in interface FilterStage

enableDelivery

public void enableDelivery()
Description copied from interface: MessageConsumer
activate deliveries. this MessageConsumer may invoke remote operations again.

Specified by:
enableDelivery in interface MessageConsumer
Overrides:
enableDelivery in class AbstractProxySupplier

disableDelivery

public void disableDelivery()
Description copied from interface: MessageConsumer
Disable Deliveries. this MessageConsumer may not invoke remote operations. events are enqueued instead.

Specified by:
disableDelivery in interface MessageConsumer
Overrides:
disableDelivery in class AbstractProxySupplier

deliverPendingData

public void deliverPendingData()
Description copied from interface: MessageConsumer
process pending work. push events to its connected (Push)Consumer.

Specified by:
deliverPendingData in interface MessageConsumer

getServant

public Servant getServant()

activate

public Object activate()
Specified by:
activate in interface ManageableServant