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`.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.jboss.netty.channel.ChannelHandler

      `ChannelHandler.Sharable`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CompatibleObjectEncoder()` Creates a new instance with the reset interval of `16`.
    `CompatibleObjectEncoder(int resetInterval)` Creates a new instance.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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-2012 The Netty Project. All Rights Reserved.