polyglot.util
Class TypeOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by java.io.ObjectOutputStream
          extended by polyglot.util.TypeOutputStream
All Implemented Interfaces:
java.io.Closeable, java.io.DataOutput, java.io.Flushable, java.io.ObjectOutput, java.io.ObjectStreamConstants

public class TypeOutputStream
extends java.io.ObjectOutputStream

Output stream for writing type objects.


Nested Class Summary
 
Nested classes/interfaces inherited from class java.io.ObjectOutputStream
java.io.ObjectOutputStream.PutField
 
Field Summary
protected  java.util.Map placeHolders
           
protected  java.util.Set roots
           
protected  TypeSystem ts
           
 
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
TypeOutputStream(java.io.OutputStream out, TypeSystem ts, Type root)
           
 
Method Summary
protected  java.lang.Object placeHolder(TypeObject o)
           
protected  java.lang.Object replaceObject(java.lang.Object o)
           
 
Methods inherited from class java.io.ObjectOutputStream
annotateClass, annotateProxyClass, close, defaultWriteObject, drain, enableReplaceObject, flush, putFields, reset, useProtocolVersion, write, write, write, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeClassDescriptor, 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

ts

protected TypeSystem ts

roots

protected java.util.Set roots

placeHolders

protected java.util.Map placeHolders
Constructor Detail

TypeOutputStream

public TypeOutputStream(java.io.OutputStream out,
                        TypeSystem ts,
                        Type root)
                 throws java.io.IOException
Throws:
java.io.IOException
Method Detail

placeHolder

protected java.lang.Object placeHolder(TypeObject o)

replaceObject

protected java.lang.Object replaceObject(java.lang.Object o)
                                  throws java.io.IOException
Overrides:
replaceObject in class java.io.ObjectOutputStream
Throws:
java.io.IOException