quickfix.mina.message
Class FIXMessageDecoder

java.lang.Object
  extended by quickfix.mina.message.FIXMessageDecoder
All Implemented Interfaces:
org.apache.mina.filter.codec.demux.MessageDecoder

public class FIXMessageDecoder
extends java.lang.Object
implements org.apache.mina.filter.codec.demux.MessageDecoder

Detects and decodes FIX message strings in an incoming data stream. The message string is then passed to MINA IO handlers for further processing.


Nested Class Summary
static interface FIXMessageDecoder.MessageListener
          Used to process streamed messages from a file
 
Field Summary
 
Fields inherited from interface org.apache.mina.filter.codec.demux.MessageDecoder
NEED_DATA, NOT_OK, OK
 
Constructor Summary
FIXMessageDecoder()
           
FIXMessageDecoder(java.lang.String charset)
           
FIXMessageDecoder(java.lang.String charset, java.lang.String delimiter)
           
 
Method Summary
 org.apache.mina.filter.codec.demux.MessageDecoderResult decodable(org.apache.mina.common.IoSession session, org.apache.mina.common.ByteBuffer in)
           
 org.apache.mina.filter.codec.demux.MessageDecoderResult decode(org.apache.mina.common.IoSession session, org.apache.mina.common.ByteBuffer in, org.apache.mina.filter.codec.ProtocolDecoderOutput out)
           
 java.util.List<java.lang.String> extractMessages(java.io.File file)
          Utility method to extract messages from files.
 void extractMessages(java.io.File file, FIXMessageDecoder.MessageListener listener)
          Utility to extract messages from a file.
 void finishDecode(org.apache.mina.common.IoSession arg0, org.apache.mina.filter.codec.ProtocolDecoderOutput arg1)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FIXMessageDecoder

public FIXMessageDecoder()
                  throws java.io.UnsupportedEncodingException
Throws:
java.io.UnsupportedEncodingException

FIXMessageDecoder

public FIXMessageDecoder(java.lang.String charset)
                  throws java.io.UnsupportedEncodingException
Throws:
java.io.UnsupportedEncodingException

FIXMessageDecoder

public FIXMessageDecoder(java.lang.String charset,
                         java.lang.String delimiter)
                  throws java.io.UnsupportedEncodingException
Throws:
java.io.UnsupportedEncodingException
Method Detail

decodable

public org.apache.mina.filter.codec.demux.MessageDecoderResult decodable(org.apache.mina.common.IoSession session,
                                                                         org.apache.mina.common.ByteBuffer in)
Specified by:
decodable in interface org.apache.mina.filter.codec.demux.MessageDecoder

decode

public org.apache.mina.filter.codec.demux.MessageDecoderResult decode(org.apache.mina.common.IoSession session,
                                                                      org.apache.mina.common.ByteBuffer in,
                                                                      org.apache.mina.filter.codec.ProtocolDecoderOutput out)
                                                               throws org.apache.mina.filter.codec.ProtocolCodecException
Specified by:
decode in interface org.apache.mina.filter.codec.demux.MessageDecoder
Throws:
org.apache.mina.filter.codec.ProtocolCodecException

finishDecode

public void finishDecode(org.apache.mina.common.IoSession arg0,
                         org.apache.mina.filter.codec.ProtocolDecoderOutput arg1)
                  throws java.lang.Exception
Specified by:
finishDecode in interface org.apache.mina.filter.codec.demux.MessageDecoder
Throws:
java.lang.Exception

extractMessages

public java.util.List<java.lang.String> extractMessages(java.io.File file)
                                                 throws java.io.IOException,
                                                        org.apache.mina.filter.codec.ProtocolCodecException
Utility method to extract messages from files. This method loads all extracted messages into memory so if the expected number of extracted messages is large, do not use this method or your application may run out of memory. Use the streaming version of the method instead.

Parameters:
file -
Returns:
a list of extracted messages
Throws:
java.io.IOException
org.apache.mina.filter.codec.ProtocolCodecException
See Also:
extractMessages(File, quickfix.mina.message.FIXMessageDecoder.MessageListener)

extractMessages

public void extractMessages(java.io.File file,
                            FIXMessageDecoder.MessageListener listener)
                     throws java.io.IOException,
                            org.apache.mina.filter.codec.ProtocolCodecException
Utility to extract messages from a file. This method will return each message found to a provided listener. The message file will also be memory mapped rather than fully loaded into physical memory. Therefore, a large message file can be processed without using excessive memory.

Parameters:
file -
listener -
Throws:
java.io.IOException
org.apache.mina.filter.codec.ProtocolCodecException