org.jcon.persistance
Class LookupInputStream

java.lang.Object
  extended by java.io.InputStream
      extended by java.io.ObjectInputStream
          extended by org.jcon.persistance.LookupInputStream
All Implemented Interfaces:
java.io.Closeable, java.io.DataInput, java.io.ObjectInput, java.io.ObjectStreamConstants

public class LookupInputStream
extends java.io.ObjectInputStream

An Input stream that exchanges references to objects found in a lookup table for a lookup index that can be used during deserialization to locate the original object.

Version:
1.0 8/14/97
Author:
Paul Reavis

Nested Class Summary
 
Nested classes/interfaces inherited from class java.io.ObjectInputStream
java.io.ObjectInputStream.GetField
 
Field Summary
 
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
LookupInputStream(java.io.InputStream innie, LookupDatabase lookup)
          Creates a new LookupInputStream on the InputStream.
 
Method Summary
 LookupDatabase getLookup()
          The lookup database used.
protected  java.lang.Object resolveObject(java.lang.Object obj)
          This is where the magic happens.
 void setLookup(LookupDatabase newLookup)
          The lookup database used.
 
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
 

Constructor Detail

LookupInputStream

public LookupInputStream(java.io.InputStream innie,
                         LookupDatabase lookup)
                  throws java.io.IOException
Creates a new LookupInputStream on the InputStream.

Throws:
java.io.IOException
Method Detail

getLookup

public LookupDatabase getLookup()
The lookup database used.


setLookup

public void setLookup(LookupDatabase newLookup)
The lookup database used.


resolveObject

protected java.lang.Object resolveObject(java.lang.Object obj)
                                  throws java.io.IOException
This is where the magic happens.

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