java.io

## Interface ObjectStreamConstants

All Known Implementing Classes:
  ObjectInputStream, ObjectOutputStream

    public interface ObjectStreamConstants

Constants written into the Object Serialization Stream.

Since:
  JDK 1.1

### Field Summary

Fields
`static int` `baseWireHandle` First wire handle to be assigned.
`static int` `PROTOCOL_VERSION_1` A Stream Protocol Version.
`static int` `PROTOCOL_VERSION_2` A Stream Protocol Version.
`static byte` `SC_BLOCK_DATA` Bit mask for ObjectStreamClass flag.
`static byte` `SC_ENUM` Bit mask for ObjectStreamClass flag.
`static byte` `SC_EXTERNALIZABLE` Bit mask for ObjectStreamClass flag.
`static byte` `SC_SERIALIZABLE` Bit mask for ObjectStreamClass flag.
`static byte` `SC_WRITE_METHOD` Bit mask for ObjectStreamClass flag.
`static short` `STREAM_MAGIC` Magic number that is written to the stream header.
`static short` `STREAM_VERSION` Version number that is written to the stream header.
`static SerializablePermission` `SUBCLASS_IMPLEMENTATION_PERMISSION` Enable overriding of readObject and writeObject.
`static SerializablePermission` `SUBSTITUTION_PERMISSION` Enable substitution of one object for another during serialization/deserialization.
`static byte` `TC_ARRAY` new Array.
`static byte` `TC_BASE` First tag value.
`static byte` `TC_BLOCKDATA` Block of optional data.
`static byte` `TC_BLOCKDATALONG` long Block data.
`static byte` `TC_CLASS` Reference to Class.
`static byte` `TC_CLASSDESC` new Class Descriptor.
`static byte` `TC_ENDBLOCKDATA` End of optional block data blocks for an object.
`static byte` `TC_ENUM` new Enum constant.
`static byte` `TC_EXCEPTION` Exception during write.
`static byte` `TC_LONGSTRING` Long string.
`static byte` `TC_MAX` Last tag value.
`static byte` `TC_NULL` Null object reference.
`static byte` `TC_OBJECT` new Object.
`static byte` `TC_PROXYCLASSDESC` new Proxy Class Descriptor.
`static byte` `TC_REFERENCE` Reference to an object already written into the stream.
`static byte` `TC_RESET` Reset stream context.
`static byte` `TC_STRING` new String.

### Field Detail

#### STREAM_MAGIC

    static final short STREAM_MAGIC

Magic number that is written to the stream header.

See Also:
  Constant Field Values

#### STREAM_VERSION

    static final short STREAM_VERSION

Version number that is written to the stream header.

See Also:
  Constant Field Values

#### TC_BASE

    static final byte TC_BASE

First tag value.

See Also:
  Constant Field Values

#### TC_NULL

    static final byte TC_NULL

Null object reference.

See Also:
  Constant Field Values

#### TC_REFERENCE

    static final byte TC_REFERENCE

Reference to an object already written into the stream.

See Also:
  Constant Field Values

#### TC_CLASSDESC

    static final byte TC_CLASSDESC

new Class Descriptor.

See Also:
  Constant Field Values

#### TC_OBJECT

    static final byte TC_OBJECT

new Object.

See Also:
  Constant Field Values

#### TC_STRING

    static final byte TC_STRING

new String.

See Also:
  Constant Field Values

#### TC_ARRAY

    static final byte TC_ARRAY

new Array.

See Also:
  Constant Field Values

#### TC_CLASS

    static final byte TC_CLASS

Reference to Class.

See Also:
  Constant Field Values

#### TC_BLOCKDATA

    static final byte TC_BLOCKDATA

Block of optional data. Byte following tag indicates number of bytes in this block data.

See Also:
  Constant Field Values

#### TC_ENDBLOCKDATA

    static final byte TC_ENDBLOCKDATA

End of optional block data blocks for an object.

See Also:
  Constant Field Values

#### TC_RESET

    static final byte TC_RESET

Reset stream context. All handles written into stream are reset.

See Also:
  Constant Field Values

#### TC_BLOCKDATALONG

    static final byte TC_BLOCKDATALONG

long Block data. The long following the tag indicates the number of bytes in this block data.

See Also:
  Constant Field Values

#### TC_EXCEPTION

    static final byte TC_EXCEPTION

Exception during write.

See Also:
  Constant Field Values

#### TC_LONGSTRING

    static final byte TC_LONGSTRING

Long string.

See Also:
  Constant Field Values

#### TC_PROXYCLASSDESC

    static final byte TC_PROXYCLASSDESC

new Proxy Class Descriptor.

See Also:
  Constant Field Values

#### TC_ENUM

    static final byte TC_ENUM

new Enum constant.

Since:
  1.5
See Also:
  Constant Field Values

#### TC_MAX

    static final byte TC_MAX

Last tag value.

See Also:
  Constant Field Values

#### baseWireHandle

    static final int baseWireHandle

First wire handle to be assigned.

See Also:
  Constant Field Values

#### SC_WRITE_METHOD

    static final byte SC_WRITE_METHOD

Bit mask for ObjectStreamClass flag. Indicates a Serializable class defines its own writeObject method.

See Also:
  Constant Field Values

#### SC_BLOCK_DATA

    static final byte SC_BLOCK_DATA

Bit mask for ObjectStreamClass flag. Indicates Externalizable data written in Block Data mode. Added for PROTOCOL_VERSION_2.

Since:
  1.2
See Also:
  `PROTOCOL_VERSION_2`, Constant Field Values

#### SC_SERIALIZABLE

    static final byte SC_SERIALIZABLE

Bit mask for ObjectStreamClass flag. Indicates class is Serializable.

See Also:
  Constant Field Values

#### SC_EXTERNALIZABLE

    static final byte SC_EXTERNALIZABLE

Bit mask for ObjectStreamClass flag. Indicates class is Externalizable.

See Also:
  Constant Field Values

#### SC_ENUM

    static final byte SC_ENUM

Bit mask for ObjectStreamClass flag. Indicates class is an enum type.

Since:
  1.5
See Also:
  Constant Field Values

#### SUBSTITUTION_PERMISSION

    static final SerializablePermission SUBSTITUTION_PERMISSION

Enable substitution of one object for another during serialization/deserialization.

Since:
  1.2
See Also:
  `ObjectOutputStream.enableReplaceObject(boolean)`, `ObjectInputStream.enableResolveObject(boolean)`

#### SUBCLASS_IMPLEMENTATION_PERMISSION

    static final SerializablePermission SUBCLASS_IMPLEMENTATION_PERMISSION

Enable overriding of readObject and writeObject.

Since:
  1.2
See Also:
  `ObjectOutputStream.writeObjectOverride(Object)`, `ObjectInputStream.readObjectOverride()`

#### PROTOCOL_VERSION_1

    static final int PROTOCOL_VERSION_1

A Stream Protocol Version.

All externalizable data is written in JDK 1.1 external data format after calling this method. This version is needed to write streams containing Externalizable data that can be read by pre-JDK 1.1.6 JVMs.

Since:
  1.2
See Also:
  `ObjectOutputStream.useProtocolVersion(int)`, Constant Field Values

#### PROTOCOL_VERSION_2

    static final int PROTOCOL_VERSION_2

A Stream Protocol Version.

This protocol is written by JVM 1.2. Externalizable data is written in block data mode and is terminated with TC_ENDBLOCKDATA. Externalizable classdescriptor flags has SC_BLOCK_DATA enabled. JVM 1.1.6 and greater can read this format change. Enables writing a nonSerializable class descriptor into the stream. The serialVersionUID of a nonSerializable class is set to 0L.

Since:
  1.2
See Also:
  `ObjectOutputStream.useProtocolVersion(int)`, `SC_BLOCK_DATA`, Constant Field Values

Copyright © 1993, 2017, Oracle and/or its affiliates. All rights reserved.