Class StringDecoder
java.lang.Object
- All Implemented Interfaces:
ChannelHandler, ChannelInboundHandler
Decodes a received
ByteBuf into a String. Please
note that this decoder must be used with a proper ByteToMessageDecoder
such as DelimiterBasedFrameDecoder or LineBasedFrameDecoder
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:
and then you can use aChannelPipelinepipeline = ...; // Decoders pipeline.addLast("frameDecoder", newLineBasedFrameDecoder(80)); pipeline.addLast("stringDecoder", newStringDecoder(CharsetUtil.UTF_8)); // Encoder pipeline.addLast("stringEncoder", newStringEncoder(CharsetUtil.UTF_8));
String instead of a ByteBuf
as a message:
void channelRead(ChannelHandlerContextctx,Stringmsg) { ch.write("Did you say '" + msg + "'?\n"); }
-
Nested Class Summary
Nested classes/interfaces inherited from interface ChannelHandler
ChannelHandler.Sharable -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new instance with the current system character set.StringDecoder(Charset charset) Creates a new instance with the specified character set. -
Method Summary
Modifier and TypeMethodDescriptionprotected voiddecode(ChannelHandlerContext ctx, ByteBuf msg, List<Object> out) Decode from one message to an other.Methods inherited from class MessageToMessageDecoder
acceptInboundMessage, channelRead, channelReadCompleteMethods inherited from class ChannelInboundHandlerAdapter
channelActive, channelInactive, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggeredMethods inherited from class ChannelHandlerAdapter
ensureNotSharable, handlerAdded, handlerRemoved, isSharableMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ChannelHandler
handlerAdded, handlerRemoved
-
Constructor Details
-
StringDecoder
public StringDecoder()Creates a new instance with the current system character set. -
StringDecoder
Creates a new instance with the specified character set.
-
-
Method Details
-
decode
Description copied from class:MessageToMessageDecoderDecode from one message to an other. This method will be called for each written message that can be handled by this decoder.- Specified by:
decodein classMessageToMessageDecoder<ByteBuf>- Parameters:
ctx- theChannelHandlerContextwhich thisMessageToMessageDecoderbelongs tomsg- the message to decode to an other oneout- theListto which decoded messages should be added- Throws:
Exception- is thrown if an error occurs
-