Package org.drasyl.handler.codec
Class JacksonCodec<T>
java.lang.Object
io.netty.channel.ChannelHandlerAdapter
io.netty.channel.ChannelInboundHandlerAdapter
io.netty.channel.ChannelDuplexHandler
io.netty.handler.codec.ByteToMessageCodec<T>
org.drasyl.handler.codec.JacksonCodec<T>
- All Implemented Interfaces:
io.netty.channel.ChannelHandler
,io.netty.channel.ChannelInboundHandler
,io.netty.channel.ChannelOutboundHandler
public class JacksonCodec<T>
extends io.netty.handler.codec.ByteToMessageCodec<T>
This codec converts with Jackson messages of
type
T
to ByteBuf
s and vice versa.
Make sure to declare the following dependency in your software when using this handler:
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> </dependency>
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.netty.channel.ChannelHandler
io.netty.channel.ChannelHandler.Sharable
-
Constructor Summary
ConstructorDescriptionJacksonCodec
(com.fasterxml.jackson.databind.ObjectMapper mapper, Class<T> clazz) JacksonCodec
(Class<T> clazz) -
Method Summary
Methods inherited from class io.netty.handler.codec.ByteToMessageCodec
acceptOutboundMessage, channelInactive, channelRead, channelReadComplete, decodeLast, handlerAdded, handlerRemoved, write
Methods inherited from class io.netty.channel.ChannelDuplexHandler
bind, close, connect, deregister, disconnect, flush, read
Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter
channelActive, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggered
Methods inherited from class io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, isSharable
-
Constructor Details
-
JacksonCodec
@UnstableApi public JacksonCodec(com.fasterxml.jackson.databind.ObjectMapper mapper, Class<T> clazz) -
JacksonCodec
-
-
Method Details
-
encode
protected void encode(io.netty.channel.ChannelHandlerContext ctx, T msg, io.netty.buffer.ByteBuf out) throws IOException - Specified by:
encode
in classio.netty.handler.codec.ByteToMessageCodec<T>
- Throws:
IOException
-
decode
protected void decode(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf in, List<Object> out) throws IOException - Specified by:
decode
in classio.netty.handler.codec.ByteToMessageCodec<T>
- Throws:
IOException
-