com.devexperts.qd.qtp.text
Class TextByteArrayComposer

java.lang.Object
  extended by com.devexperts.qd.qtp.AbstractMessageVisitor
      extended by com.devexperts.qd.qtp.AbstractByteArrayComposer
          extended by com.devexperts.qd.qtp.text.TextByteArrayComposer
All Implemented Interfaces:
DataVisitor, MessageVisitor, SubscriptionVisitor

public class TextByteArrayComposer
extends AbstractByteArrayComposer

Composes messages in text format.

See Also:
com.devexperts.qd.qtp.text, ByteArrayComposer, AbstractByteArrayComposer, TextByteArrayParser

Field Summary
 
Fields inherited from class com.devexperts.qd.qtp.AbstractByteArrayComposer
historyAddSubscription, out, pooledBuffer, processed, RECORD_STATE_DESCRIBED, RECORD_STATE_NEW, recordState, scheme, threshold
 
Constructor Summary
TextByteArrayComposer(DataScheme scheme)
          Constructs composer with a specified scheme.
 
Method Summary
protected  boolean acceptField(DataField f)
           
protected  void composeHistorySubscriptionTime(DataRecord record, long time)
           
protected  void composeIntField(DataIntField field, int value)
           
protected  void composeLinePrefix()
           
protected  void composeMessageHeader(int messageID)
          Composes header of a message of specific type.
protected  void composeObjField(DataObjField field, java.lang.Object value)
           
protected  void composeOtherMessageBody(byte[] messageBytes, int offset, int length)
           
protected  void composeRecord(DataRecord record, int cipher, java.lang.String symbol)
           
protected  void finishComposingMessage(int messageStart)
          Performs actions necessary to finish composing a message (for example, inserts message size, inserts records descriptions if necessary).
 void resetSession()
          Resets session state for composer with describe records mode.
 void setDelimiters(TextDelimiters delimiters)
           
 
Methods inherited from class com.devexperts.qd.qtp.AbstractByteArrayComposer
beginMessage, endMessage, getBuffer, getProcessed, getThreshold, hasCapacity, moveDataForward, removeBytes, setThreshold, visitData, visitIntField, visitObjField, visitOtherMessage, visitRecord, visitRecord, visitSubscription
 
Methods inherited from class com.devexperts.qd.qtp.AbstractMessageVisitor
visitDescribeProtocol, visitHistoryAddSubscription, visitHistoryData, visitHistoryRemoveSubscription, visitStreamAddSubscription, visitStreamData, visitStreamRemoveSubscription, visitTickerAddSubscription, visitTickerData, visitTickerRemoveSubscription
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TextByteArrayComposer

public TextByteArrayComposer(DataScheme scheme)
Constructs composer with a specified scheme.

Parameters:
scheme - The data scheme.
Method Detail

setDelimiters

public void setDelimiters(TextDelimiters delimiters)

composeLinePrefix

protected void composeLinePrefix()

acceptField

protected boolean acceptField(DataField f)

composeMessageHeader

protected void composeMessageHeader(int messageID)
Description copied from class: AbstractByteArrayComposer
Composes header of a message of specific type.

Specified by:
composeMessageHeader in class AbstractByteArrayComposer
Parameters:
messageID - id of message type (see MessageConstants).

resetSession

public void resetSession()
Description copied from class: AbstractByteArrayComposer
Resets session state for composer with describe records mode. Resets the state of all described records so far, so that describe messages are started to being sent again, as if this composer was just created.

Overrides:
resetSession in class AbstractByteArrayComposer
See Also:
AbstractByteArrayComposer.AbstractByteArrayComposer(DataScheme, boolean)

finishComposingMessage

protected void finishComposingMessage(int messageStart)
Description copied from class: AbstractByteArrayComposer
Performs actions necessary to finish composing a message (for example, inserts message size, inserts records descriptions if necessary). Used by ByteArrayComposer.

Specified by:
finishComposingMessage in class AbstractByteArrayComposer
Parameters:
messageStart - position in buffer where message begins. The end of a message is at current buffer position (out.getPosition()).

composeHistorySubscriptionTime

protected void composeHistorySubscriptionTime(DataRecord record,
                                              long time)
Specified by:
composeHistorySubscriptionTime in class AbstractByteArrayComposer

composeRecord

protected void composeRecord(DataRecord record,
                             int cipher,
                             java.lang.String symbol)
Specified by:
composeRecord in class AbstractByteArrayComposer

composeIntField

protected void composeIntField(DataIntField field,
                               int value)
Specified by:
composeIntField in class AbstractByteArrayComposer

composeObjField

protected void composeObjField(DataObjField field,
                               java.lang.Object value)
Specified by:
composeObjField in class AbstractByteArrayComposer

composeOtherMessageBody

protected void composeOtherMessageBody(byte[] messageBytes,
                                       int offset,
                                       int length)
Specified by:
composeOtherMessageBody in class AbstractByteArrayComposer