com.devexperts.qd.qtp
Class AbstractMessageVisitor

java.lang.Object
  extended by com.devexperts.qd.qtp.AbstractMessageVisitor
All Implemented Interfaces:
MessageVisitor
Direct Known Subclasses:
AbstractByteArrayComposer, FileWriter, MessageOutputStreamWriter

public abstract class AbstractMessageVisitor
extends java.lang.Object
implements MessageVisitor

This class collapses various visitXXXData and visitXXXSubscription methods of MessageVisitor interface into just two methods: visitData(com.devexperts.qd.DataProvider, com.devexperts.qd.qtp.MessageType) and visitSubscription(com.devexperts.qd.SubscriptionProvider, com.devexperts.qd.qtp.MessageType).

All implementations of MessageVisitor interface shall extends this class.


Constructor Summary
AbstractMessageVisitor()
           
 
Method Summary
abstract  boolean visitData(DataProvider provider, MessageType message)
          This method consumes available data for data message from the given data provider.
 void visitDescribeProtocol(ProtocolDescriptor descriptor)
           
 boolean visitHistoryAddSubscription(SubscriptionProvider provider)
          This method consumes available subscription for MessageType.HISTORY_ADD_SUBSCRIPTION message from the given subscription provider.
 boolean visitHistoryData(DataProvider provider)
          This method consumes available data for MessageType.HISTORY_DATA message from the given data provider.
 boolean visitHistoryRemoveSubscription(SubscriptionProvider provider)
          This method consumes available subscription for MessageType.HISTORY_REMOVE_SUBSCRIPTION message from the given subscription provider.
 boolean visitOtherMessage(int messageType, byte[] messageBytes, int offset, int length)
          This implementation simply skips all unknown messages.
 boolean visitStreamAddSubscription(SubscriptionProvider provider)
          This method consumes available subscription for MessageType.STREAM_ADD_SUBSCRIPTION message from the given subscription provider.
 boolean visitStreamData(DataProvider provider)
          This method consumes available data for MessageType.STREAM_DATA message from the given data provider.
 boolean visitStreamRemoveSubscription(SubscriptionProvider provider)
          This method consumes available subscription for MessageType.STREAM_REMOVE_SUBSCRIPTION message from the given subscription provider.
abstract  boolean visitSubscription(SubscriptionProvider provider, MessageType message)
          This method consumes available subscription for subscription message from the given subscription provider.
 boolean visitTickerAddSubscription(SubscriptionProvider provider)
          This method consumes available subscription for MessageType.TICKER_ADD_SUBSCRIPTION message from the given subscription provider.
 boolean visitTickerData(DataProvider provider)
          This method consumes available data for MessageType.TICKER_DATA message from the given data provider.
 boolean visitTickerRemoveSubscription(SubscriptionProvider provider)
          This method consumes available subscription for MessageType.TICKER_REMOVE_SUBSCRIPTION message from the given subscription provider.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractMessageVisitor

public AbstractMessageVisitor()
Method Detail

visitDescribeProtocol

public void visitDescribeProtocol(ProtocolDescriptor descriptor)
Specified by:
visitDescribeProtocol in interface MessageVisitor

visitData

public abstract boolean visitData(DataProvider provider,
                                  MessageType message)
This method consumes available data for data message from the given data provider.

Specified by:
visitData in interface MessageVisitor
Returns:
false if it had retrieved all available data and no data left, true if more data remains to be consumed

visitSubscription

public abstract boolean visitSubscription(SubscriptionProvider provider,
                                          MessageType message)
This method consumes available subscription for subscription message from the given subscription provider.

Specified by:
visitSubscription in interface MessageVisitor
Returns:
false if it had retrieved all available subscription and nothing left, true if more subscription remains to be consumed

visitTickerData

public final boolean visitTickerData(DataProvider provider)
Description copied from interface: MessageVisitor
This method consumes available data for MessageType.TICKER_DATA message from the given data provider.

Specified by:
visitTickerData in interface MessageVisitor
Returns:
false if it had retrieved all available data and no data left, true if more data remains to be consumed

visitTickerAddSubscription

public final boolean visitTickerAddSubscription(SubscriptionProvider provider)
Description copied from interface: MessageVisitor
This method consumes available subscription for MessageType.TICKER_ADD_SUBSCRIPTION message from the given subscription provider.

Specified by:
visitTickerAddSubscription in interface MessageVisitor
Returns:
false if it had retrieved all available subscription and nothing left, true if more subscription remains to be consumed

visitTickerRemoveSubscription

public final boolean visitTickerRemoveSubscription(SubscriptionProvider provider)
Description copied from interface: MessageVisitor
This method consumes available subscription for MessageType.TICKER_REMOVE_SUBSCRIPTION message from the given subscription provider.

Specified by:
visitTickerRemoveSubscription in interface MessageVisitor
Returns:
false if it had retrieved all available subscription and nothing left, true if more subscription remains to be consumed

visitStreamData

public final boolean visitStreamData(DataProvider provider)
Description copied from interface: MessageVisitor
This method consumes available data for MessageType.STREAM_DATA message from the given data provider.

Specified by:
visitStreamData in interface MessageVisitor
Returns:
false if it had retrieved all available data and no data left, true if more data remains to be consumed

visitStreamAddSubscription

public final boolean visitStreamAddSubscription(SubscriptionProvider provider)
Description copied from interface: MessageVisitor
This method consumes available subscription for MessageType.STREAM_ADD_SUBSCRIPTION message from the given subscription provider.

Specified by:
visitStreamAddSubscription in interface MessageVisitor
Returns:
false if it had retrieved all available subscription and nothing left, true if more subscription remains to be consumed

visitStreamRemoveSubscription

public final boolean visitStreamRemoveSubscription(SubscriptionProvider provider)
Description copied from interface: MessageVisitor
This method consumes available subscription for MessageType.STREAM_REMOVE_SUBSCRIPTION message from the given subscription provider.

Specified by:
visitStreamRemoveSubscription in interface MessageVisitor
Returns:
false if it had retrieved all available subscription and nothing left, true if more subscription remains to be consumed

visitHistoryData

public final boolean visitHistoryData(DataProvider provider)
Description copied from interface: MessageVisitor
This method consumes available data for MessageType.HISTORY_DATA message from the given data provider.

Specified by:
visitHistoryData in interface MessageVisitor
Returns:
false if it had retrieved all available data and no data left, true if more data remains to be consumed

visitHistoryAddSubscription

public final boolean visitHistoryAddSubscription(SubscriptionProvider provider)
Description copied from interface: MessageVisitor
This method consumes available subscription for MessageType.HISTORY_ADD_SUBSCRIPTION message from the given subscription provider.

Specified by:
visitHistoryAddSubscription in interface MessageVisitor
Returns:
false if it had retrieved all available subscription and nothing left, true if more subscription remains to be consumed

visitHistoryRemoveSubscription

public final boolean visitHistoryRemoveSubscription(SubscriptionProvider provider)
Description copied from interface: MessageVisitor
This method consumes available subscription for MessageType.HISTORY_REMOVE_SUBSCRIPTION message from the given subscription provider.

Specified by:
visitHistoryRemoveSubscription in interface MessageVisitor
Returns:
false if it had retrieved all available subscription and nothing left, true if more subscription remains to be consumed

visitOtherMessage

public boolean visitOtherMessage(int messageType,
                                 byte[] messageBytes,
                                 int offset,
                                 int length)
This implementation simply skips all unknown messages.

Specified by:
visitOtherMessage in interface MessageVisitor
Parameters:
messageType - integer number representing a type of the message.
messageBytes - array containing message data.
offset - position of the first byte of message data in messageBytes array.
length - number of bytes starting from offset in messageBytes related to this message.
Returns:
true if the whole message was not processed because the visitor is full and false if the message was successfully processed.