org.jacorb.notification.servant
Class StructuredProxyPullSupplierImpl

java.lang.Object
  extended by org.jacorb.notification.servant.AbstractProxy
      extended by org.jacorb.notification.servant.AbstractProxySupplier
          extended by org.jacorb.notification.servant.StructuredProxyPullSupplierImpl
All Implemented Interfaces:
org.apache.avalon.framework.configuration.Configurable, Disposable, FilterStage, MessageConsumer, ManageableServant, QoSAdminOperations, ProxySupplierOperations, StructuredProxyPullSupplierOperations, NotifySubscribeOperations, StructuredPullSupplierOperations, FilterAdminOperations
Direct Known Subclasses:
SequenceProxyPullSupplierImpl

public class StructuredProxyPullSupplierImpl
extends AbstractProxySupplier
implements StructuredProxyPullSupplierOperations

Version:
$Id: StructuredProxyPullSupplierImpl.java,v 1.7 2004/05/06 12:40:00 nicolas Exp $
Author:
Alphonse Bendt

Field Summary
protected static StructuredEvent undefinedStructuredEvent_
          undefined StructuredEvent that is returned on unsuccessful pull operations.
 
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_
 
Constructor Summary
StructuredProxyPullSupplierImpl(AbstractAdmin myAdminServant, ChannelContext channelContext)
           
 
Method Summary
 Object activate()
           
 void connect_structured_pull_consumer(StructuredPullConsumer consumer)
           
 void deliverMessage(Message event)
          PullSupplier always enqueues.
 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_structured_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()
           
 StructuredEvent pull_structured_event()
           
 StructuredEvent try_pull_structured_event(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
 

Field Detail

undefinedStructuredEvent_

protected static final StructuredEvent undefinedStructuredEvent_
undefined StructuredEvent that is returned on unsuccessful pull operations.

Constructor Detail

StructuredProxyPullSupplierImpl

public StructuredProxyPullSupplierImpl(AbstractAdmin myAdminServant,
                                       ChannelContext channelContext)
Method Detail

MyType

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

connect_structured_pull_consumer

public void connect_structured_pull_consumer(StructuredPullConsumer consumer)
                                      throws AlreadyConnected
Specified by:
connect_structured_pull_consumer in interface StructuredProxyPullSupplierOperations
Throws:
AlreadyConnected

pull_structured_event

public StructuredEvent pull_structured_event()
                                      throws Disconnected
Specified by:
pull_structured_event in interface StructuredPullSupplierOperations
Throws:
Disconnected

try_pull_structured_event

public StructuredEvent try_pull_structured_event(BooleanHolder hasEvent)
                                          throws Disconnected
Specified by:
try_pull_structured_event in interface StructuredPullSupplierOperations
Throws:
Disconnected

disconnect_structured_pull_supplier

public void disconnect_structured_pull_supplier()
Specified by:
disconnect_structured_pull_supplier in interface StructuredPullSupplierOperations

disconnectClient

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

Specified by:
disconnectClient in class AbstractProxy

deliverMessage

public void deliverMessage(Message event)
PullSupplier always enqueues.

Specified by:
deliverMessage in interface MessageConsumer

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

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

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

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