com.sleepycat.bind.serial
Class SerialInput

java.lang.Object
  extended by java.io.InputStream
      extended by java.io.ObjectInputStream
          extended by com.sleepycat.bind.serial.SerialInput
All Implemented Interfaces:
java.io.Closeable, java.io.DataInput, java.io.ObjectInput, java.io.ObjectStreamConstants

public class SerialInput
extends java.io.ObjectInputStream

A specialized ObjectInputStream that gets class description information from a ClassCatalog. It is used by SerialBinding.

This class is used instead of an ObjectInputStream, which it extends, to read an object stream written by the SerialOutput class. For reading objects from a database normally one of the serial binding classes is used. SerialInput is used when an ObjectInputStream is needed along with compact storage. A ClassCatalog must be supplied, however, to stored shared class descriptions.


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
SerialInput(java.io.InputStream in, ClassCatalog classCatalog)
          Creates a serial input stream.
SerialInput(java.io.InputStream in, ClassCatalog classCatalog, java.lang.ClassLoader classLoader)
          Creates a serial input stream.
 
Method Summary
protected  java.io.ObjectStreamClass readClassDescriptor()
           
protected  java.lang.Class resolveClass(java.io.ObjectStreamClass desc)
           
 
Methods inherited from class java.io.ObjectInputStream
available, close, defaultReadObject, enableResolveObject, read, read, readBoolean, readByte, readChar, readDouble, readFields, readFloat, readFully, readFully, readInt, readLine, readLong, readObject, readObjectOverride, readShort, readStreamHeader, readUnshared, readUnsignedByte, readUnsignedShort, readUTF, registerValidation, resolveObject, 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

SerialInput

public SerialInput(java.io.InputStream in,
                   ClassCatalog classCatalog)
            throws java.io.IOException
Creates a serial input stream.

Parameters:
in - is the input stream from which compact serialized objects will be read.
classCatalog - is the catalog containing the class descriptions for the serialized objects.
Throws:
java.io.IOException

SerialInput

public SerialInput(java.io.InputStream in,
                   ClassCatalog classCatalog,
                   java.lang.ClassLoader classLoader)
            throws java.io.IOException
Creates a serial input stream.

Parameters:
in - is the input stream from which compact serialized objects will be read.
classCatalog - is the catalog containing the class descriptions for the serialized objects.
classLoader - is the class loader to use, or null if a default class loader should be used.
Throws:
java.io.IOException
Method Detail

readClassDescriptor

protected java.io.ObjectStreamClass readClassDescriptor()
                                                 throws java.io.IOException,
                                                        java.lang.ClassNotFoundException
Overrides:
readClassDescriptor in class java.io.ObjectInputStream
Throws:
java.io.IOException
java.lang.ClassNotFoundException

resolveClass

protected java.lang.Class resolveClass(java.io.ObjectStreamClass desc)
                                throws java.io.IOException,
                                       java.lang.ClassNotFoundException
Overrides:
resolveClass in class java.io.ObjectInputStream
Throws:
java.io.IOException
java.lang.ClassNotFoundException