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

java.lang.Object
  extended by org.jboss.netty.handler.codec.oneone.OneToOneEncoder
      extended by org.jboss.netty.handler.codec.string.StringEncoder
All Implemented Interfaces:
ChannelDownstreamHandler, ChannelHandler

@ChannelHandler.Sharable
public class StringEncoder
extends OneToOneEncoder

Encodes the requested String into a ChannelBuffer. A typical setup for a text-based line protocol in a TCP/IP socket would be:

 ChannelPipeline pipeline = ...;

 // Decoders
 pipeline.addLast("frameDecoder", new DelimiterBasedFrameDecoder(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
StringEncoder()
          Creates a new instance with the current system character set.
StringEncoder(Charset charset)
          Creates a new instance with the specified character set.
StringEncoder(String charsetName)
          Deprecated. Use StringEncoder(Charset) instead.
 
Method Summary
protected  Object encode(ChannelHandlerContext ctx, Channel channel, Object msg)
          Transforms the specified message into another message and return the transformed message.
 
Methods inherited from class org.jboss.netty.handler.codec.oneone.OneToOneEncoder
handleDownstream
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StringEncoder

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


StringEncoder

public StringEncoder(Charset charset)
Creates a new instance with the specified character set.


StringEncoder

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

Method Detail

encode

protected Object encode(ChannelHandlerContext ctx,
                        Channel channel,
                        Object msg)
                 throws Exception
Description copied from class: OneToOneEncoder
Transforms the specified message into another message and return the transformed message. Note that you can not return null, unlike you can in OneToOneDecoder.decode(ChannelHandlerContext, Channel, Object); you must return something, at least ChannelBuffers.EMPTY_BUFFER.

Specified by:
encode in class OneToOneEncoder
Throws:
Exception


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