org.jacorb.notification.servant
Class StructuredProxyPullConsumerImpl

java.lang.Object
  extended by org.jacorb.notification.servant.AbstractProxy
      extended by org.jacorb.notification.servant.StructuredProxyPullConsumerImpl
All Implemented Interfaces:
org.apache.avalon.framework.configuration.Configurable, Disposable, FilterStage, MessageSupplier, AbstractProxyConsumerI, ManageableServant, QoSAdminOperations, ProxyConsumerOperations, StructuredProxyPullConsumerOperations, NotifyPublishOperations, StructuredPullConsumerOperations, FilterAdminOperations
Direct Known Subclasses:
SequenceProxyPullConsumerImpl

public class StructuredProxyPullConsumerImpl
extends AbstractProxy
implements StructuredProxyPullConsumerOperations, MessageSupplier

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

Field Summary
protected  MessageFactory messageFactory_
           
protected  long pollInterval_
           
protected  EDU.oswego.cs.dl.util.concurrent.Sync pullSync_
           
 
Fields inherited from class org.jacorb.notification.servant.AbstractProxy
admin_, channelContext_, id_, isIDPublic_, lifetimeFilter_, logger_, offerManager_, priorityFilter_, qosSettings_, subscriptionManager_, thisServant_
 
Constructor Summary
StructuredProxyPullConsumerImpl(AbstractAdmin admin, ChannelContext channelContext)
           
 
Method Summary
 Object activate()
           
protected  void checkMessageProperties(Message mesg)
          check if a Message is acceptable to the QoS Settings of this ProxyConsumer
 void configure(org.apache.avalon.framework.configuration.Configuration conf)
           
 void connect_structured_pull_supplier(StructuredPullSupplier pullSupplier)
           
protected  void connectClient(Object client)
           
 void connectionResumed()
          invoked when resume_connection was called successfully.
protected  void connectionSuspended()
           
 void disconnect_structured_pull_consumer()
           
protected  void disconnectClient()
          invoke the proxy specific disconnect method.
 FilterStage getFirstStage()
           
 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.
 boolean isStartTimeSupported()
           
 boolean isTimeOutSupported()
           
 SupplierAdmin MyAdmin()
           
 ProxyType MyType()
           
 EventType[] obtain_subscription_types(ObtainInfoMode obtainInfoMode)
           
 void offer_change(EventType[] added, EventType[] removed)
           
 void preActivate()
           
protected  void runPullEventInternal()
           
 void runPullMessage()
          the implementation pulls one or more events from its Supplier and hands over the pulled events to the TaskProcessor.
protected  void schedulePullTask(MessageSupplier target)
           
protected  void startTask()
           
protected  void stopTask()
           
 
Methods inherited from class org.jacorb.notification.servant.AbstractProxy
_default_POA, add_filter, assertConnected, assertNotConnected, checkStillConnected, deactivate, dispose, 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.StructuredProxyPullConsumerOperations
resume_connection, suspend_connection
 
Methods inherited from interface org.omg.CosNotifyChannelAdmin.ProxyConsumerOperations
MyAdmin, 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.NotifyPublishOperations
offer_change
 
Methods inherited from interface org.jacorb.notification.interfaces.Disposable
dispose
 

Field Detail

pullSync_

protected EDU.oswego.cs.dl.util.concurrent.Sync pullSync_

pollInterval_

protected long pollInterval_

messageFactory_

protected MessageFactory messageFactory_
Constructor Detail

StructuredProxyPullConsumerImpl

public StructuredProxyPullConsumerImpl(AbstractAdmin admin,
                                       ChannelContext channelContext)
Method Detail

MyType

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

configure

public void configure(org.apache.avalon.framework.configuration.Configuration conf)
Specified by:
configure in interface org.apache.avalon.framework.configuration.Configurable
Overrides:
configure in class AbstractProxy

disconnect_structured_pull_consumer

public void disconnect_structured_pull_consumer()
Specified by:
disconnect_structured_pull_consumer in interface StructuredPullConsumerOperations

connect_structured_pull_supplier

public void connect_structured_pull_supplier(StructuredPullSupplier pullSupplier)
                                      throws AlreadyConnected
Specified by:
connect_structured_pull_supplier in interface StructuredProxyPullConsumerOperations
Throws:
AlreadyConnected

connectionSuspended

protected void connectionSuspended()
Overrides:
connectionSuspended in class AbstractProxy

connectionResumed

public void connectionResumed()
Description copied from class: AbstractProxy
invoked when resume_connection was called successfully.

Overrides:
connectionResumed in class AbstractProxy

obtain_subscription_types

public EventType[] obtain_subscription_types(ObtainInfoMode obtainInfoMode)
Specified by:
obtain_subscription_types in interface ProxyConsumerOperations

runPullMessage

public void runPullMessage()
                    throws Disconnected
Description copied from interface: MessageSupplier
the implementation pulls one or more events from its Supplier and hands over the pulled events to the TaskProcessor.

Specified by:
runPullMessage in interface MessageSupplier
Throws:
Disconnected

runPullEventInternal

protected void runPullEventInternal()
                             throws java.lang.InterruptedException,
                                    Disconnected
Throws:
java.lang.InterruptedException
Disconnected

disconnectClient

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

Specified by:
disconnectClient in class AbstractProxy

startTask

protected void startTask()

stopTask

protected void stopTask()

getServant

public Servant getServant()

activate

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

getSubsequentFilterStages

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

Specified by:
getSubsequentFilterStages in interface FilterStage

preActivate

public void preActivate()
Specified by:
preActivate in interface ManageableServant
Overrides:
preActivate in class AbstractProxy

schedulePullTask

protected void schedulePullTask(MessageSupplier target)

checkMessageProperties

protected void checkMessageProperties(Message mesg)
check if a Message is acceptable to the QoS Settings of this ProxyConsumer


getFirstStage

public FilterStage getFirstStage()
Specified by:
getFirstStage in interface AbstractProxyConsumerI

isTimeOutSupported

public boolean isTimeOutSupported()
Specified by:
isTimeOutSupported in interface AbstractProxyConsumerI

isStartTimeSupported

public boolean isStartTimeSupported()
Specified by:
isStartTimeSupported in interface AbstractProxyConsumerI

MyAdmin

public final SupplierAdmin MyAdmin()

getMessageConsumer

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

Specified by:
getMessageConsumer in interface FilterStage

hasMessageConsumer

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

Specified by:
hasMessageConsumer in interface FilterStage

offer_change

public void offer_change(EventType[] added,
                         EventType[] removed)
                  throws InvalidEventType
Specified by:
offer_change in interface NotifyPublishOperations
Throws:
InvalidEventType

connectClient

protected void connectClient(Object client)
Overrides:
connectClient in class AbstractProxy