## org.jboss.netty.handler.codec.serialization
Class CompatibleObjectEncoder

    java.lang.Object
      org.jboss.netty.handler.codec.oneone.OneToOneEncoder
          org.jboss.netty.handler.codec.serialization.CompatibleObjectEncoder

All Implemented Interfaces:
  ChannelDownstreamHandler, ChannelHandler

    public class CompatibleObjectEncoder

extends OneToOneEncoder

An encoder which serializes a Java object into a `ChannelBuffer` (interoperability version).

This encoder is interoperable with the standard Java object streams such as `ObjectInputStream` and `ObjectOutputStream`.

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
`CompatibleObjectEncoder()` Creates a new instance with the reset interval of `16`.
`CompatibleObjectEncoder(int resetInterval)` Creates a new instance.

Method Summary
`protected Object` `encode(ChannelHandlerContext context, Channel channel, Object msg)` Transforms the specified message into another message and return the transformed message.
`protected ObjectOutputStream` `newObjectOutputStream(OutputStream out)` Creates a new `ObjectOutputStream` which wraps the specified `OutputStream`.

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

### CompatibleObjectEncoder

    public CompatibleObjectEncoder()

  Creates a new instance with the reset interval of `16`.

### CompatibleObjectEncoder

    public CompatibleObjectEncoder(int resetInterval)

  Creates a new instance.

  Parameters:
    `resetInterval` - the number of objects between `ObjectOutputStream.reset()`. `0` will disable resetting the stream, but the remote peer will be at the risk of getting `OutOfMemoryError` in the long term.

Method Detail

### newObjectOutputStream

    protected ObjectOutputStream newObjectOutputStream(OutputStream out)
                                                throws Exception

  Creates a new `ObjectOutputStream` which wraps the specified `OutputStream`. Override this method to use a subclass of the `ObjectOutputStream`.

  Throws:
    `Exception`

### encode

    protected Object encode(ChannelHandlerContext context,
                            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-2010 JBoss, a division of Red Hat, Inc.. All Rights Reserved.