java.io
Class ObjectOutputStream

java.lang.Object
  |
  +--java.io.OutputStream
        |
        +--java.io.ObjectOutputStream

public class ObjectOutputStream
extends OutputStream
implements ObjectOutput, ObjectStreamConstants


Inner Class Summary
 (package private) classObjectOutputStream.1
           
 (package private) classObjectOutputStream.HandleTable
           
 public classObjectOutputStream.PutField
           
 (package private) classObjectOutputStream.PutFieldImpl
           
 (package private) classObjectOutputStream.ReplaceTable
           
 (package private) classObjectOutputStream.Stack
           

Field Summary
 private java.io.IOExceptionabortIOException
           
 private booleanblockDataMode
           
 private byte[]buf
           
 private char[]cdata
           
 private final static intCDATA_MAX_LEN
           
 private java.io.ObjectOutputStream.StackclassDescStack
           
 private intcount
           
 private java.io.ObjectStreamClasscurrentClassDesc
           
 private java.lang.ObjectcurrentObject
           
 private java.io.ObjectOutputStream.PutFieldcurrentPutFields
           
 private byte[]data
           
 private java.io.DataOutputStreamdos
           
 (package private) booleanenableReplace
           
 private booleanenableSubclassImplementation
           
 private java.io.ObjectOutputStream.HandleTablehandleTable
           
 private final static intINITIAL_BUFFER_SIZE
           
 private final static booleanNOT_REPLACEABLE
           
 private java.io.OutputStreamout
           
 private intrecursionDepth
           
 private final static booleanREPLACEABLE
           
 private java.io.ObjectOutputStream.ReplaceTablereplaceTable
           
 (package private) booleanuseDeprecatedExternalizableFormat
           
 private java.lang.Object[]writeObjectArglist
           

Constructor Summary
 ObjectOutputStream(java.io.OutputStream )
           
 protected ObjectOutputStream()
           

Method Summary
 private voidaddReplacement(java.lang.Object , java.lang.Object )
           
 protected voidannotateClass(java.lang.Class )
           
 protected voidannotateProxyClass(java.lang.Class )
           
 private voidbufferedWrite(byte[] , int , int )
           
 private booleancheckSpecialClasses(java.lang.Object )
           
 private booleancheckSubstitutableSpecialClasses(java.lang.Object , java.lang.Class )
           
 voidclose()
           
 voiddefaultWriteObject()
           
 private static voiddoublesToBytes(double[] , int , byte[] , int , int )
           
 protected voiddrain()
           
 protected booleanenableReplaceObject(boolean )
           
 private static voidfloatsToBytes(float[] , int , byte[] , int , int )
           
 voidflush()
           
 private static java.lang.ObjectgetObjectFieldValue(java.lang.Object , long )
           
 private static voidgetPrimitiveFieldValues(java.lang.Object , long[] , char[] , byte[] )
           
 private static longgetUTFLength(char[] , int )
           
 private voidinvokeObjectWriter(java.lang.Object )
           
 private java.lang.ObjectlookupReplace(java.lang.Object )
           
 private voidoutputArray(java.lang.Object )
           
 private voidoutputClass(java.lang.Class )
           
 private voidoutputClassDescriptor(java.io.ObjectStreamClass )
           
 private voidoutputClassFields(java.lang.Object , java.lang.Class , java.io.ObjectStreamField[] )
           
 private voidoutputObject(java.lang.Object )
           
 private voidoutputString(java.lang.String )
           
 java.io.ObjectOutputStream.PutFieldputFields()
           
 protected java.lang.ObjectreplaceObject(java.lang.Object )
           
 voidreset()
           
 private voidresetStream()
           
 private booleanserializeNullAndRepeat(java.lang.Object , boolean )
           
 private booleansetBlockData(boolean )
           
 voiduseProtocolVersion(int )
           
 voidwrite(int )
           
 voidwrite(byte[] )
           
 voidwrite(byte[] , int , int )
           
 private voidwriteBlockDataHeader(int )
           
 voidwriteBoolean(boolean )
           
 voidwriteByte(int )
           
 voidwriteBytes(java.lang.String )
           
 private voidwriteCanonical(byte[] , int , int )
           
 voidwriteChar(int )
           
 voidwriteChars(java.lang.String )
           
 protected voidwriteClassDescriptor(java.io.ObjectStreamClass )
           
 private voidwriteClassDescriptor0(java.io.ObjectStreamClass )
           
 private voidwriteCode(int )
           
 voidwriteDouble(double )
           
 voidwriteFields()
           
 voidwriteFloat(float )
           
 voidwriteInt(int )
           
 private voidwriteInternal(byte[] , int , int , boolean )
           
 voidwriteLong(long )
           
 final voidwriteObject(java.lang.Object )
           
 protected voidwriteObjectOverride(java.lang.Object )
           
 voidwriteShort(int )
           
 protected voidwriteStreamHeader()
           
 (package private) voidwriteTypeString(java.lang.String )
           
 voidwriteUTF(java.lang.String )
           
 private voidwriteUTFBody(char[] , int )
           

Methods inherited from class java.lang.Object
getClass, hashCode, equals, clone, toString, notify, notifyAll, wait, wait, wait, finalize

Field Detail

abortIOException

private java.io.IOException abortIOException

blockDataMode

private boolean blockDataMode

buf

private byte[] buf

cdata

private char[] cdata

CDATA_MAX_LEN

private final static int CDATA_MAX_LEN

classDescStack

private java.io.ObjectOutputStream.Stack classDescStack

count

private int count

currentClassDesc

private java.io.ObjectStreamClass currentClassDesc

currentObject

private java.lang.Object currentObject

currentPutFields

private java.io.ObjectOutputStream.PutField currentPutFields

data

private byte[] data

dos

private java.io.DataOutputStream dos

enableReplace

boolean enableReplace

enableSubclassImplementation

private boolean enableSubclassImplementation

handleTable

private java.io.ObjectOutputStream.HandleTable handleTable

INITIAL_BUFFER_SIZE

private final static int INITIAL_BUFFER_SIZE

NOT_REPLACEABLE

private final static boolean NOT_REPLACEABLE

out

private java.io.OutputStream out

recursionDepth

private int recursionDepth

REPLACEABLE

private final static boolean REPLACEABLE

replaceTable

private java.io.ObjectOutputStream.ReplaceTable replaceTable

useDeprecatedExternalizableFormat

boolean useDeprecatedExternalizableFormat

writeObjectArglist

private java.lang.Object[] writeObjectArglist
Constructor Detail

ObjectOutputStream

public ObjectOutputStream(java.io.OutputStream )

ObjectOutputStream

protected ObjectOutputStream()
Method Detail

addReplacement

private void addReplacement(java.lang.Object , java.lang.Object )

annotateClass

protected void annotateClass(java.lang.Class )

annotateProxyClass

protected void annotateProxyClass(java.lang.Class )

bufferedWrite

private void bufferedWrite(byte[] , int , int )

checkSpecialClasses

private boolean checkSpecialClasses(java.lang.Object )

checkSubstitutableSpecialClasses

private boolean checkSubstitutableSpecialClasses(java.lang.Object , java.lang.Class )

close

public void close()

defaultWriteObject

public void defaultWriteObject()

doublesToBytes

private static void doublesToBytes(double[] , int , byte[] , int , int )

drain

protected void drain()

enableReplaceObject

protected boolean enableReplaceObject(boolean )

floatsToBytes

private static void floatsToBytes(float[] , int , byte[] , int , int )

flush

public void flush()

getObjectFieldValue

private static java.lang.Object getObjectFieldValue(java.lang.Object , long )

getPrimitiveFieldValues

private static void getPrimitiveFieldValues(java.lang.Object , long[] , char[] , byte[] )

getUTFLength

private static long getUTFLength(char[] , int )

invokeObjectWriter

private void invokeObjectWriter(java.lang.Object )

lookupReplace

private java.lang.Object lookupReplace(java.lang.Object )

outputArray

private void outputArray(java.lang.Object )

outputClass

private void outputClass(java.lang.Class )

outputClassDescriptor

private void outputClassDescriptor(java.io.ObjectStreamClass )

outputClassFields

private void outputClassFields(java.lang.Object , java.lang.Class , java.io.ObjectStreamField[] )

outputObject

private void outputObject(java.lang.Object )

outputString

private void outputString(java.lang.String )

putFields

public java.io.ObjectOutputStream.PutField putFields()

replaceObject

protected java.lang.Object replaceObject(java.lang.Object )

reset

public void reset()

resetStream

private void resetStream()

serializeNullAndRepeat

private boolean serializeNullAndRepeat(java.lang.Object , boolean )

setBlockData

private boolean setBlockData(boolean )

useProtocolVersion

public void useProtocolVersion(int )

write

public void write(int )

write

public void write(byte[] )

write

public void write(byte[] , int , int )

writeBlockDataHeader

private void writeBlockDataHeader(int )

writeBoolean

public void writeBoolean(boolean )

writeByte

public void writeByte(int )

writeBytes

public void writeBytes(java.lang.String )

writeCanonical

private void writeCanonical(byte[] , int , int )

writeChar

public void writeChar(int )

writeChars

public void writeChars(java.lang.String )

writeClassDescriptor

protected void writeClassDescriptor(java.io.ObjectStreamClass )

writeClassDescriptor0

private void writeClassDescriptor0(java.io.ObjectStreamClass )

writeCode

private void writeCode(int )

writeDouble

public void writeDouble(double )

writeFields

public void writeFields()

writeFloat

public void writeFloat(float )

writeInt

public void writeInt(int )

writeInternal

private void writeInternal(byte[] , int , int , boolean )

writeLong

public void writeLong(long )

writeObject

public final void writeObject(java.lang.Object )

writeObjectOverride

protected void writeObjectOverride(java.lang.Object )

writeShort

public void writeShort(int )

writeStreamHeader

protected void writeStreamHeader()

writeTypeString

void writeTypeString(java.lang.String )

writeUTF

public void writeUTF(java.lang.String )

writeUTFBody

private void writeUTFBody(char[] , int )