SerialInput (Oracle - Berkeley DB Java Edition API)
Date: 2014-12-16

com.sleepycat.bind.serial

## Class SerialInput

- java.lang.Object
- - java.io.InputStream
  - - java.io.ObjectInputStream
    - - com.sleepycat.util.ClassResolver.Stream
      - - com.sleepycat.bind.serial.SerialInput

- All Implemented Interfaces:
    Closeable, DataInput, ObjectInput, ObjectStreamConstants, AutoCloseable

      public class SerialInput
      extends ClassResolver.Stream

  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.

  Author:
    Mark Hayes
  See Also:
    Class Evolution

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class java.io.ObjectInputStream

      `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

    Constructors
    Constructor and Description
    `SerialInput(InputStream in, ClassCatalog classCatalog)` Creates a serial input stream.
    `SerialInput(InputStream in, ClassCatalog classCatalog, ClassLoader classLoader)` Creates a serial input stream.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected ObjectStreamClass` | `readClassDescriptor()`

    - ### Methods inherited from class com.sleepycat.util.ClassResolver.Stream

      `resolveClass`

    - ### 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(InputStream in,
                     ClassCatalog classCatalog)
                      throws 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:
        `IOException`

    - #### SerialInput

          public SerialInput(InputStream in,
                     ClassCatalog classCatalog,
                     ClassLoader classLoader)
                      throws 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:
        `IOException`

  - ### Method Detail

    - #### readClassDescriptor

          protected ObjectStreamClass readClassDescriptor()
                                                   throws IOException,
                                                          ClassNotFoundException

      Overrides:
        `readClassDescriptor` in class `ObjectInputStream`
      Throws:
        `IOException`
        `ClassNotFoundException`

Copyright (c) 2004, 2014 Oracle and/or its affiliates. All rights reserved.