org.jboss.netty.handler.codec.serialization

## Class ObjectEncoderOutputStream

- java.lang.Object
- - java.io.OutputStream
  - - org.jboss.netty.handler.codec.serialization.ObjectEncoderOutputStream

All Implemented Interfaces:
  Closeable, DataOutput, Flushable, ObjectOutput, AutoCloseable

    public class ObjectEncoderOutputStream
    extends OutputStream
    implements ObjectOutput

An `ObjectOutput` which is interoperable with `ObjectDecoder` and `ObjectDecoderInputStream`.

### Constructor Summary

Constructors
Constructor and Description
`ObjectEncoderOutputStream(OutputStream out)` Creates a new `ObjectOutput` with the estimated length of 512 bytes.
`ObjectEncoderOutputStream(OutputStream out, int estimatedLength)` Creates a new `ObjectOutput`.

### Method Summary

Methods
`void` `close()`
`void` `flush()`
`int` `size()`
`void` `write(byte[] b)`
`void` `write(byte[] b, int off, int len)`
`void` `write(int b)`
`void` `writeBoolean(boolean v)`
`void` `writeByte(int v)`
`void` `writeBytes(String s)`
`void` `writeChar(int v)`
`void` `writeChars(String s)`
`void` `writeDouble(double v)`
`void` `writeFloat(float v)`
`void` `writeInt(int v)`
`void` `writeLong(long v)`
`void` `writeObject(Object obj)`
`void` `writeShort(int v)`
`void` `writeUTF(String str)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ObjectEncoderOutputStream

    public ObjectEncoderOutputStream(OutputStream out)

Creates a new `ObjectOutput` with the estimated length of 512 bytes.

Parameters:
  `out` - the `OutputStream` where the serialized form will be written out

#### ObjectEncoderOutputStream

    public ObjectEncoderOutputStream(OutputStream out,
                             int estimatedLength)

Creates a new `ObjectOutput`.

Parameters:
  `out` - the `OutputStream` where the serialized form will be written out
  `estimatedLength` - the estimated byte length of the serialized form of an object. If the length of the serialized form exceeds this value, the internal buffer will be expanded automatically at the cost of memory bandwidth. If this value is too big, it will also waste memory bandwidth. To avoid unnecessary memory copy or allocation cost, please specify the properly estimated value.

### Method Detail

#### writeObject

    public void writeObject(Object obj)
                     throws IOException

Specified by:
  `writeObject` in interface `ObjectOutput`
Throws:
  `IOException`

#### write

    public void write(int b)
               throws IOException

Specified by:
  `write` in interface `DataOutput`
Specified by:
  `write` in interface `ObjectOutput`
Specified by:
  `write` in class `OutputStream`
Throws:
  `IOException`

#### close

    public void close()
               throws IOException

Specified by:
  `close` in interface `Closeable`
Specified by:
  `close` in interface `ObjectOutput`
Specified by:
  `close` in interface `AutoCloseable`
Overrides:
  `close` in class `OutputStream`
Throws:
  `IOException`

#### flush

    public void flush()
               throws IOException

Specified by:
  `flush` in interface `Flushable`
Specified by:
  `flush` in interface `ObjectOutput`
Overrides:
  `flush` in class `OutputStream`
Throws:
  `IOException`

#### size

    public final int size()

#### write

    public void write(byte[] b,
             int off,
             int len)
               throws IOException

Specified by:
  `write` in interface `DataOutput`
Specified by:
  `write` in interface `ObjectOutput`
Overrides:
  `write` in class `OutputStream`
Throws:
  `IOException`

#### write

    public void write(byte[] b)
               throws IOException

Specified by:
  `write` in interface `DataOutput`
Specified by:
  `write` in interface `ObjectOutput`
Overrides:
  `write` in class `OutputStream`
Throws:
  `IOException`

#### writeBoolean

    public final void writeBoolean(boolean v)
                            throws IOException

Specified by:
  `writeBoolean` in interface `DataOutput`
Throws:
  `IOException`

#### writeByte

    public final void writeByte(int v)
                         throws IOException

Specified by:
  `writeByte` in interface `DataOutput`
Throws:
  `IOException`

#### writeBytes

    public final void writeBytes(String s)
                          throws IOException

Specified by:
  `writeBytes` in interface `DataOutput`
Throws:
  `IOException`

#### writeChar

    public final void writeChar(int v)
                         throws IOException

Specified by:
  `writeChar` in interface `DataOutput`
Throws:
  `IOException`

#### writeChars

    public final void writeChars(String s)
                          throws IOException

Specified by:
  `writeChars` in interface `DataOutput`
Throws:
  `IOException`

#### writeDouble

    public final void writeDouble(double v)
                           throws IOException

Specified by:
  `writeDouble` in interface `DataOutput`
Throws:
  `IOException`

#### writeFloat

    public final void writeFloat(float v)
                          throws IOException

Specified by:
  `writeFloat` in interface `DataOutput`
Throws:
  `IOException`

#### writeInt

    public final void writeInt(int v)
                        throws IOException

Specified by:
  `writeInt` in interface `DataOutput`
Throws:
  `IOException`

#### writeLong

    public final void writeLong(long v)
                         throws IOException

Specified by:
  `writeLong` in interface `DataOutput`
Throws:
  `IOException`

#### writeShort

    public final void writeShort(int v)
                          throws IOException

Specified by:
  `writeShort` in interface `DataOutput`
Throws:
  `IOException`

#### writeUTF

    public final void writeUTF(String str)
                        throws IOException

Specified by:
  `writeUTF` in interface `DataOutput`
Throws:
  `IOException`