edu.byu.ece.edif.util.export.serialize
Class NameReferenceObjectInputStream

java.lang.Object
  extended by java.io.InputStream
      extended by java.io.ObjectInputStream
          extended by edu.byu.ece.edif.util.export.serialize.NameReferenceObjectInputStream
All Implemented Interfaces:
java.io.Closeable, java.io.DataInput, java.io.ObjectInput, java.io.ObjectStreamConstants

public class NameReferenceObjectInputStream
extends java.io.ObjectInputStream

This is a customized version of ObjectInputStream used for mapping EDIF name reference objects to the real EDIF objects from the given EdifEnvironment during serialization. The class is intended to be used in conjunction with NameReferenceObjectOutputStream. The supported EDIF object classes that can be replaced with name references automatically are: EdifCell, EdifCellInstance, EdifLibrary, EdifNet, EdifPort, EdifPortRef, and EdifSingleBitPort.


Nested Class Summary
 
Nested classes/interfaces inherited from class java.io.ObjectInputStream
java.io.ObjectInputStream.GetField
 
Field Summary
protected  EdifEnvironment _referenceEnvironment
           
 
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
NameReferenceObjectInputStream(java.io.InputStream in, EdifEnvironment referenceEnvironment)
          Construct a NameReferenceObjectInputStream with the given input stream and reference EdifEnvironment.
 
Method Summary
protected  java.lang.Object resolveObject(java.lang.Object obj)
          Resolve EDIF name reference objects to the corresponding real EDIF objects in the given reference EdifEnvironment during deserialization.
 
Methods inherited from class java.io.ObjectInputStream
available, close, defaultReadObject, enableResolveObject, read, read, readBoolean, readByte, readChar, readClassDescriptor, readDouble, readFields, readFloat, readFully, readFully, readInt, readLine, readLong, readObject, readObjectOverride, readShort, readStreamHeader, readUnshared, readUnsignedByte, readUnsignedShort, readUTF, registerValidation, resolveClass, resolveProxyClass, skipBytes
 
Methods inherited from class java.io.InputStream
mark, markSupported, read, reset, skip
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.io.ObjectInput
read, skip
 

Field Detail

_referenceEnvironment

protected EdifEnvironment _referenceEnvironment
Constructor Detail

NameReferenceObjectInputStream

public NameReferenceObjectInputStream(java.io.InputStream in,
                                      EdifEnvironment referenceEnvironment)
                               throws java.io.IOException
Construct a NameReferenceObjectInputStream with the given input stream and reference EdifEnvironment.

Parameters:
in -
referenceEnvironment -
Throws:
java.io.IOException
Method Detail

resolveObject

protected java.lang.Object resolveObject(java.lang.Object obj)
                                  throws java.io.IOException
Resolve EDIF name reference objects to the corresponding real EDIF objects in the given reference EdifEnvironment during deserialization.

Overrides:
resolveObject in class java.io.ObjectInputStream
Throws:
java.io.IOException