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

@ChannelHandler.Sharable
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(CharsetUtil.UTF_8));

 // Encoder
 pipeline.addLast("stringEncoder", new StringEncoder(CharsetUtil.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, Trustin Lee

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.jboss.netty.channel.ChannelHandler
ChannelHandler.Sharable
 
Constructor Summary
StringDecoder()
          Creates a new instance with the current system character set.
StringDecoder(Charset charset)
          Creates a new instance with the specified character set.
StringDecoder(String charsetName)
          Deprecated. Use StringDecoder(Charset) instead.
 
Method Summary
protected  Object decode(ChannelHandlerContext ctx, Channel channel, Object msg)
          Transforms the specified received message into another message and return the transformed message.
 
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(Charset charset)
Creates a new instance with the specified character set.


StringDecoder

@Deprecated
public StringDecoder(String charsetName)
Deprecated. Use StringDecoder(Charset) instead.

Method Detail

decode

protected Object decode(ChannelHandlerContext ctx,
                        Channel channel,
                        Object msg)
                 throws Exception
Description copied from class: OneToOneDecoder
Transforms the specified received message into another message and return the transformed message. Return null if the received message is supposed to be discarded.

Specified by:
decode in class OneToOneDecoder
Throws:
Exception


Copyright © 2008-2011 JBoss, a division of Red Hat, Inc.. All Rights Reserved.