com.sleepycat.bind.serial
Class SerialOutput
java.lang.Object
java.io.OutputStream
java.io.ObjectOutputStream
com.sleepycat.bind.serial.SerialOutput
- All Implemented Interfaces:
- DataOutput, ObjectOutput, ObjectStreamConstants
- public class SerialOutput
- extends ObjectOutputStream
A specialized ObjectOutputStream
that stores class
description information in a ClassCatalog
. It is used by SerialBinding
.
This class is used instead of an ObjectOutputStream
,
which it extends, to write a compact object stream. For writing objects
to a database normally one of the serial binding classes is used. SerialOutput
is used when an ObjectOutputStream
is needed along with compact storage. A ClassCatalog
must be supplied, however, to stored shared class descriptions.
The ClassCatalog
is used to store class definitions rather than embedding these into the
stream. Instead, a class format identifier is embedded into the stream.
This identifier is then used by SerialInput
to load the class format to deserialize the object.
- Author:
- Mark Hayes
Fields inherited from interface java.io.ObjectStreamConstants |
baseWireHandle, PROTOCOL_VERSION_1, PROTOCOL_VERSION_2, SC_BLOCK_DATA, 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_EXCEPTION, TC_LONGSTRING, TC_MAX, TC_NULL, TC_OBJECT, TC_PROXYCLASSDESC, TC_REFERENCE, TC_RESET, TC_STRING |
Method Summary |
static byte[] |
getStreamHeader()
Returns
the fixed stream header used for all serialized streams in
PROTOCOL_VERSION_2 format. |
Methods inherited from class java.io.ObjectOutputStream |
close, defaultWriteObject, flush, putFields, reset, useProtocolVersion, write, write, write, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeDouble, writeFields, writeFloat, writeInt, writeLong, writeObject, writeShort, writeUnshared, writeUTF |
SerialOutput
public SerialOutput(OutputStream out,
ClassCatalog classCatalog)
throws IOException
- Creates a serial output stream.
- Parameters:
out
- is the output stream to which the compact
serialized objects will be written.
classCatalog
- is the catalog to which the class
descriptions for the serialized objects will be written.
getStreamHeader
public static byte[] getStreamHeader()
- Returns the fixed stream header used for all serialized
streams in PROTOCOL_VERSION_2 format. To save space this header can be
removed and serialized streams before storage and inserted before
deserializing.
SerialOutput
always uses PROTOCOL_VERSION_2 serialization format to guarantee that
this header is fixed. SerialBinding
removes this header from serialized streams automatically.
-
- Returns:
- the fixed stream header.
Copyright
(c) 1996-2005 Sleepycat Software,
Inc. - All rights reserved.