org.jboss.netty.handler.codec.string
Class StringDecoder

java.lang.Object
  extended by org.jboss.netty.handler.codec.oneone.OneToOneDecoder
      extended by org.jboss.netty.handler.codec.string.StringDecoder
All Implemented Interfaces:
ChannelHandler, ChannelUpstreamHandler

@ChannelPipelineCoverage(value="all")
public class StringDecoder
extends OneToOneDecoder

Decodes a received ChannelBuffer into a String. Please note that this decoder must be used with a proper FrameDecoder such as DelimiterBasedFrameDecoder if you are using a stream-based transport such as TCP/IP. A typical setup for a text-based line protocol in a TCP/IP socket would be:

 ChannelPipeline pipeline = ...;

 // Decoders
 pipeline.addLast("frameDecoder", new DelimiterBasedFrameDecoder(80, Delimiters.lineDelimiter()));
 pipeline.addLast("stringDecoder", new StringDecoder("UTF-8"));

 // Encoder
 pipeline.addLast("stringEncoder", new StringEncoder("UTF-8"));
 
and then you can use a String instead of a ChannelBuffer as a message:
 void messageReceived(ChannelHandlerContext ctx, MessageEvent e) {
     String msg = (String) e.getMessage();
     ch.write("Did you say '" + msg + "'?\n");
 }
 

Version:
$Rev:231 $, $Date:2008-06-12 16:44:50 +0900 (목, 12 6월 2008) $
Author:
The Netty Project (netty-dev@lists.jboss.org), Trustin Lee (tlee@redhat.com)

Constructor Summary
StringDecoder()
          Creates a new instance with the current system character set.
StringDecoder(Charset charset)
          Creates a new instance.
StringDecoder(String charsetName)
          Creates a new instance.
 
Method Summary
protected  Object decode(ChannelHandlerContext ctx, Channel channel, Object msg)
           
 
Methods inherited from class org.jboss.netty.handler.codec.oneone.OneToOneDecoder
handleUpstream
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StringDecoder

public StringDecoder()
Creates a new instance with the current system character set.


StringDecoder

public StringDecoder(String charsetName)
Creates a new instance.

Parameters:
charsetName - the name of the character set to use for decoding

StringDecoder

public StringDecoder(Charset charset)
Creates a new instance.

Parameters:
charset - the character set to use for decoding
Method Detail

decode

protected Object decode(ChannelHandlerContext ctx,
                        Channel channel,
                        Object msg)
                 throws Exception
Specified by:
decode in class OneToOneDecoder
Throws:
Exception


Copyright © 2008-2009 JBoss, by Red Hat. All Rights Reserved.