org.apache.mina.filter.codec.textline

Class TextLineDecoder

Implemented Interfaces:
ProtocolDecoder

public class TextLineDecoder
extends java.lang.Object
implements ProtocolDecoder

A ProtocolDecoder which decodes a text line into a string.

Constructor Summary

TextLineDecoder()
Creates a new instance with the current default Charset and LineDelimiter.AUTO delimiter.
TextLineDecoder(Charset charset)
Creates a new instance with the spcified charset and LineDelimiter.AUTO delimiter.
TextLineDecoder(Charset charset, LineDelimiter delimiter)
Creates a new instance with the specified charset and the specified delimiter.

Method Summary

void
decode(IoSession session, ByteBuffer in, ProtocolDecoderOutput out)
Decodes binary or protocol-specific content into higher-level message objects.
void
dispose(IoSession session)
Releases all resources related with this decoder.
void
finishDecode(IoSession session, ProtocolDecoderOutput out)
Invoked when the specified session is closed.
int
getMaxLineLength()
Returns the allowed maximum size of the line to be decoded.
void
setMaxLineLength(int maxLineLength)
Sets the allowed maximum size of the line to be decoded.

Constructor Details

TextLineDecoder

public TextLineDecoder()

TextLineDecoder

public TextLineDecoder(Charset charset)

TextLineDecoder

public TextLineDecoder(Charset charset,
                       LineDelimiter delimiter)
Creates a new instance with the specified charset and the specified delimiter.

Method Details

decode

public void decode(IoSession session,
                   ByteBuffer in,
                   ProtocolDecoderOutput out)
            throws Exception
Decodes binary or protocol-specific content into higher-level message objects. MINA invokes ProtocolDecoder.decode(IoSession,ByteBuffer,ProtocolDecoderOutput) method with read data, and then the decoder implementation puts decoded messages into ProtocolDecoderOutput.
Specified by:
decode in interface ProtocolDecoder

dispose

public void dispose(IoSession session)
            throws Exception
Releases all resources related with this decoder.
Specified by:
dispose in interface ProtocolDecoder

finishDecode

public void finishDecode(IoSession session,
                         ProtocolDecoderOutput out)
            throws Exception
Invoked when the specified session is closed. This method is useful when you deal with the protocol which doesn't specify the length of a message such as HTTP response without content-length header. Implement this method to process the remaining data that ProtocolDecoder.decode(IoSession,ByteBuffer,ProtocolDecoderOutput) method didn't process completely.
Specified by:
finishDecode in interface ProtocolDecoder

getMaxLineLength

public int getMaxLineLength()

setMaxLineLength

public void setMaxLineLength(int maxLineLength)