Package 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 java.io.ObjectStreamConstants

`baseWireHandle, PROTOCOL_VERSION_1, PROTOCOL_VERSION_2, SC_BLOCK_DATA, SC_ENUM, SC_EXTERNALIZABLE, SC_SERIALIZABLE, SC_WRITE_METHOD, SERIAL_FILTER_PERMISSION, 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`

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

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
Description
`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.io.OutputStream

`nullOutputStream`

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

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

## Constructor Details

### IdentifiableObjectOutputStream

public IdentifiableObjectOutputStream(String name, OutputStream outs) throws IOException

Throws:
  `IOException`

## Method Details

### annotateClass

protected void annotateClass(Class cl) throws IOException

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