org.eclipse.ecf.provider.util

## Class IdentifiableObjectOutputStream

- java.lang.Object
- - java.io.OutputStream
  - - java.io.ObjectOutputStream
    - - org.eclipse.ecf.core.util.OSGIObjectOutputStream
      - - org.eclipse.ecf.provider.util.IdentifiableObjectOutputStream

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

    public class IdentifiableObjectOutputStream
    extends OSGIObjectOutputStream

Stores Java objects in the underlying stream in an manner that allows corresponding input stream to use ID to lookup appropriate associated classloader (via IClassLoaderMapper).

### Nested Class Summary

### Nested classes/interfaces inherited from class java.io.ObjectOutputStream

`ObjectOutputStream.PutField`

### Field Summary

### Fields inherited from class org.eclipse.ecf.core.util.OSGIObjectOutputStream

`allowNonSerializable, logger, out`

### Fields inherited from interface org.eclipse.ecf.core.util.OSGIObjectStreamConstants

`C_ARRAY, C_BOOL, C_BYTE, C_CHAR, C_COLL, C_DICT, C_DOUBLE, C_DTO, C_ENUM, C_EXTER, C_FLOAT, C_INT, C_ITER, C_LIST, C_LONG, C_MAP, C_NULL, C_OBJECT, C_OBOOL, C_OBYTE, C_OCHAR, C_ODOUBLE, C_OFLOAT, C_OINT, C_OLONG, C_OSHORT, C_SER, C_SET, C_SHORT, C_STRING, C_VER`

### Fields inherited from interface java.io.ObjectStreamConstants

`baseWireHandle, PROTOCOL_VERSION_1, PROTOCOL_VERSION_2, SC_BLOCK_DATA, SC_ENUM, SC_EXTERNALIZABLE, SC_SERIALIZABLE, SC_WRITE_METHOD, STREAM_MAGIC, STREAM_VERSION, SUBCLASS_IMPLEMENTATION_PERMISSION, SUBSTITUTION_PERMISSION, TC_ARRAY, TC_BASE, TC_BLOCKDATA, TC_BLOCKDATALONG, TC_CLASS, TC_CLASSDESC, TC_ENDBLOCKDATA, TC_ENUM, TC_EXCEPTION, TC_LONGSTRING, TC_MAX, TC_NULL, TC_OBJECT, TC_PROXYCLASSDESC, TC_REFERENCE, TC_RESET, TC_STRING`

### Constructor Summary

Constructors
Constructor and Description
`IdentifiableObjectOutputStream(String name, OutputStream outs)`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected void` `annotateClass(Class cl)`

### Methods inherited from class org.eclipse.ecf.core.util.OSGIObjectOutputStream

`close, flush, reset, setAllowNonSerializable, setLogService, trace, write, write, write, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeDouble, writeExternalizable, writeFields, writeFloat, writeInt, writeLong, writeNonSerializable, writeObjectOverride, writeSerializable, writeShort, writeUTF`

### Methods inherited from class java.io.ObjectOutputStream

`annotateProxyClass, defaultWriteObject, drain, enableReplaceObject, putFields, replaceObject, useProtocolVersion, writeClassDescriptor, writeFields, writeObject, writeStreamHeader, writeUnshared`

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

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

### Constructor Detail

#### IdentifiableObjectOutputStream

    public IdentifiableObjectOutputStream(String name,
                                          OutputStream outs)
                                   throws IOException

Throws:
  `IOException`

### Method Detail

#### annotateClass

    protected void annotateClass(Class cl)
                          throws IOException

Overrides:
  `annotateClass` in class `ObjectOutputStream`
Throws:
  `IOException`