com.devexperts.qd.qtp
Interface MessageVisitor

All Known Implementing Classes:
AbstractByteArrayComposer, AbstractMessageVisitor, BlobByteArrayComposer, ByteArrayComposer, FileWriter, MessageOutputStreamWriter, TextByteArrayComposer

public interface MessageVisitor

The MessageVisitor defines protocol of serial access to messages using Visitor pattern. It allows message provider with complicated storage effectively give away messages to external consumer.

All visiting methods must return false if they have retrieved all intended data and true otherwise. The later usually happens because the visitor has no more capacity to retrieve data.

Because visited data is being sent in a serial order, it is a good idea to consult data priorities before deciding the order of data visiting.

Implementations of this interface shall extend AbstractMessageVisitor.


Method Summary
 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)
          Deprecated. use visitSubscription(SubscriptionProvider provider, MessageType MessageType.HISTORY_ADD_SUBSCRIPTION) instead
 boolean visitHistoryData(DataProvider provider)
          Deprecated. use visitData(DataProvider provider, MessageType MessageType.HISTORY_DATA) instead
 boolean visitHistoryRemoveSubscription(SubscriptionProvider provider)
          Deprecated. use visitSubscription(SubscriptionProvider provider, MessageType MessageType.HISTORY_REMOVE_SUBSCRIPTION) instead
 boolean visitOtherMessage(int messageType, byte[] messageBytes, int offset, int length)
          This method represents an extension point for QD API in order it could be extended to handle any auxiliary messages transferred via QD.
 boolean visitStreamAddSubscription(SubscriptionProvider provider)
          Deprecated. use visitSubscription(SubscriptionProvider provider, MessageType MessageType.STREAM_ADD_SUBSCRIPTION) instead
 boolean visitStreamData(DataProvider provider)
          Deprecated. use visitData(DataProvider provider, MessageType MessageType.STREAM_DATA) instead
 boolean visitStreamRemoveSubscription(SubscriptionProvider provider)
          Deprecated. use visitSubscription(SubscriptionProvider provider, MessageType MessageType.STREAM_REMOVE_SUBSCRIPTION) instead
 boolean visitSubscription(SubscriptionProvider provider, MessageType message)
          This method consumes available subscription for subscription message from the given subscription provider.
 boolean visitTickerAddSubscription(SubscriptionProvider provider)
          Deprecated. use visitSubscription(SubscriptionProvider provider, MessageType MessageType.TICKER_ADD_SUBSCRIPTION) instead
 boolean visitTickerData(DataProvider provider)
          Deprecated. use visitData(DataProvider provider, MessageType MessageType.TICKER_DATA) instead
 boolean visitTickerRemoveSubscription(SubscriptionProvider provider)
          Deprecated. use visitSubscription(SubscriptionProvider provider, MessageType MessageType.TICKER_REMOVE_SUBSCRIPTION) instead
 

Method Detail

visitDescribeProtocol

void visitDescribeProtocol(ProtocolDescriptor descriptor)

visitData

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

Returns:
false if it had retrieved all available data and no data left, true if more data remains to be consumed

visitSubscription

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

Returns:
false if it had retrieved all available subscription and nothing left, true if more subscription remains to be consumed

visitTickerData

@Deprecated
boolean visitTickerData(DataProvider provider)
Deprecated. use visitData(DataProvider provider, MessageType MessageType.TICKER_DATA) instead

This method consumes available data for MessageType.TICKER_DATA message from the given data provider.

Returns:
false if it had retrieved all available data and no data left, true if more data remains to be consumed

visitTickerAddSubscription

@Deprecated
boolean visitTickerAddSubscription(SubscriptionProvider provider)
Deprecated. use visitSubscription(SubscriptionProvider provider, MessageType MessageType.TICKER_ADD_SUBSCRIPTION) instead

This method consumes available subscription for MessageType.TICKER_ADD_SUBSCRIPTION message from the given subscription provider.

Returns:
false if it had retrieved all available subscription and nothing left, true if more subscription remains to be consumed

visitTickerRemoveSubscription

@Deprecated
boolean visitTickerRemoveSubscription(SubscriptionProvider provider)
Deprecated. use visitSubscription(SubscriptionProvider provider, MessageType MessageType.TICKER_REMOVE_SUBSCRIPTION) instead

This method consumes available subscription for MessageType.TICKER_REMOVE_SUBSCRIPTION message from the given subscription provider.

Returns:
false if it had retrieved all available subscription and nothing left, true if more subscription remains to be consumed

visitStreamData

@Deprecated
boolean visitStreamData(DataProvider provider)
Deprecated. use visitData(DataProvider provider, MessageType MessageType.STREAM_DATA) instead

This method consumes available data for MessageType.STREAM_DATA message from the given data provider.

Returns:
false if it had retrieved all available data and no data left, true if more data remains to be consumed

visitStreamAddSubscription

@Deprecated
boolean visitStreamAddSubscription(SubscriptionProvider provider)
Deprecated. use visitSubscription(SubscriptionProvider provider, MessageType MessageType.STREAM_ADD_SUBSCRIPTION) instead

This method consumes available subscription for MessageType.STREAM_ADD_SUBSCRIPTION message from the given subscription provider.

Returns:
false if it had retrieved all available subscription and nothing left, true if more subscription remains to be consumed

visitStreamRemoveSubscription

@Deprecated
boolean visitStreamRemoveSubscription(SubscriptionProvider provider)
Deprecated. use visitSubscription(SubscriptionProvider provider, MessageType MessageType.STREAM_REMOVE_SUBSCRIPTION) instead

This method consumes available subscription for MessageType.STREAM_REMOVE_SUBSCRIPTION message from the given subscription provider.

Returns:
false if it had retrieved all available subscription and nothing left, true if more subscription remains to be consumed

visitHistoryData

@Deprecated
boolean visitHistoryData(DataProvider provider)
Deprecated. use visitData(DataProvider provider, MessageType MessageType.HISTORY_DATA) instead

This method consumes available data for MessageType.HISTORY_DATA message from the given data provider.

Returns:
false if it had retrieved all available data and no data left, true if more data remains to be consumed

visitHistoryAddSubscription

@Deprecated
boolean visitHistoryAddSubscription(SubscriptionProvider provider)
Deprecated. use visitSubscription(SubscriptionProvider provider, MessageType MessageType.HISTORY_ADD_SUBSCRIPTION) instead

This method consumes available subscription for MessageType.HISTORY_ADD_SUBSCRIPTION message from the given subscription provider.

Returns:
false if it had retrieved all available subscription and nothing left, true if more subscription remains to be consumed

visitHistoryRemoveSubscription

@Deprecated
boolean visitHistoryRemoveSubscription(SubscriptionProvider provider)
Deprecated. use visitSubscription(SubscriptionProvider provider, MessageType MessageType.HISTORY_REMOVE_SUBSCRIPTION) instead

This method consumes available subscription for MessageType.HISTORY_REMOVE_SUBSCRIPTION message from the given subscription provider.

Returns:
false if it had retrieved all available subscription and nothing left, true if more subscription remains to be consumed

visitOtherMessage

boolean visitOtherMessage(int messageType,
                          byte[] messageBytes,
                          int offset,
                          int length)
This method represents an extension point for QD API in order it could be extended to handle any auxiliary messages transferred via QD.

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.