org.granite.tide.data
Class AbstractDataDispatcher

java.lang.Object
  extended by org.granite.tide.data.AbstractDataDispatcher
All Implemented Interfaces:
DataDispatcher
Direct Known Subclasses:
DefaultDataDispatcher, JMSDataDispatcher

public abstract class AbstractDataDispatcher
extends Object
implements DataDispatcher

Base implementation for data update dispatchers. It should be built at beginning of each request during initialization of DataContext. The dispatch is a three step process :

Actual implementations should only override changeDataSelector and publishUpdate/

Author:
William Drai
See Also:
DataDispatcher, DataContext

Field Summary
protected  String clientId
           
protected  boolean enabled
           
protected  DataTopicParams paramsProvider
           
protected  String sessionId
           
protected  String subscriptionId
           
protected  String topicName
           
 
Fields inherited from interface org.granite.tide.data.DataDispatcher
GDS_SESSION_ID, SERVER_DISPATCHER_GDS_SESSION_ID, TIDE_DATA_SUBTOPIC, TIDE_DATA_TYPE_KEY, TIDE_DATA_TYPE_VALUE
 
Constructor Summary
AbstractDataDispatcher(String topicName, Class<? extends DataTopicParams> dataTopicParamsClass)
           
 
Method Summary
protected abstract  void changeDataSelector(String dataSelector)
           
 void observe()
           
 void publish(Object[][] dataUpdates)
           
protected abstract  void publishUpdate(Map<String,String> params, Object body)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

enabled

protected boolean enabled

topicName

protected String topicName

paramsProvider

protected DataTopicParams paramsProvider

sessionId

protected String sessionId

clientId

protected String clientId

subscriptionId

protected String subscriptionId
Constructor Detail

AbstractDataDispatcher

public AbstractDataDispatcher(String topicName,
                              Class<? extends DataTopicParams> dataTopicParamsClass)
Method Detail

observe

public void observe()
Specified by:
observe in interface DataDispatcher

changeDataSelector

protected abstract void changeDataSelector(String dataSelector)

publish

public void publish(Object[][] dataUpdates)
Specified by:
publish in interface DataDispatcher

publishUpdate

protected abstract void publishUpdate(Map<String,String> params,
                                      Object body)