org.jdesktop.wonderland.common.comms
Class WonderlandObjectOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by java.io.ObjectOutputStream
          extended by org.jdesktop.wonderland.common.comms.WonderlandObjectOutputStream
All Implemented Interfaces:
java.io.Closeable, java.io.DataOutput, java.io.Flushable, java.io.ObjectOutput, java.io.ObjectStreamConstants

public class WonderlandObjectOutputStream
extends java.io.ObjectOutputStream

A specialized ObjectInputStream that reduces the size of serialized core wonderland objects. For known classes this stream stores a (int) id instead of the large serialization class header. For unknown classes it stores the class name in the stream, which again is usually much smaller than the serialization header.

Author:
paulby

Nested Class Summary
 
Nested classes/interfaces inherited from class java.io.ObjectOutputStream
java.io.ObjectOutputStream.PutField
 
Field Summary
protected static int firstID
           
protected static int UNKNOWN_DESCRIPTOR
           
 
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
WonderlandObjectOutputStream(java.io.OutputStream out)
           
 
Method Summary
protected  void writeClassDescriptor(java.io.ObjectStreamClass desc)
           
 
Methods inherited from class java.io.ObjectOutputStream
annotateClass, annotateProxyClass, close, defaultWriteObject, drain, enableReplaceObject, flush, putFields, replaceObject, reset, useProtocolVersion, write, write, write, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeDouble, writeFields, writeFloat, writeInt, writeLong, writeObject, writeObjectOverride, writeShort, writeStreamHeader, writeUnshared, writeUTF
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

UNKNOWN_DESCRIPTOR

protected static final int UNKNOWN_DESCRIPTOR
See Also:
Constant Field Values

firstID

protected static int firstID
Constructor Detail

WonderlandObjectOutputStream

public WonderlandObjectOutputStream(java.io.OutputStream out)
                             throws java.io.IOException
Throws:
java.io.IOException
Method Detail

writeClassDescriptor

protected void writeClassDescriptor(java.io.ObjectStreamClass desc)
                             throws java.io.IOException
Overrides:
writeClassDescriptor in class java.io.ObjectOutputStream
Throws:
java.io.IOException


Open Wonderland - http://openwonderland.org