2 // DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
4 #ifndef __java_io_ObjectOutputStream__
5 #define __java_io_ObjectOutputStream__
9 #include <java/io/OutputStream.h>
10 #include <gcj/array.h>
20 class ObjectIdentityMap2Int
;
26 class SetAccessibleAction
;
33 class java::io::ObjectOutputStream
: public ::java::io::OutputStream
37 ObjectOutputStream(::java::io::OutputStream
*);
38 virtual void writeObject(::java::lang::Object
*);
39 virtual void writeUnshared(::java::lang::Object
*);
41 void writeObject(::java::lang::Object
*, jboolean
);
42 public: // actually protected
43 virtual void writeClassDescriptor(::java::io::ObjectStreamClass
*);
45 virtual void defaultWriteObject();
47 void markFieldsWritten();
53 virtual void useProtocolVersion(jint
);
54 public: // actually protected
55 virtual void annotateClass(::java::lang::Class
*);
56 virtual void annotateProxyClass(::java::lang::Class
*);
57 virtual ::java::lang::Object
* replaceObject(::java::lang::Object
*);
58 virtual jboolean
enableReplaceObject(jboolean
);
59 virtual void writeStreamHeader();
61 virtual void writeObjectOverride(::java::lang::Object
*);
63 virtual void write(jint
);
64 virtual void write(JArray
< jbyte
> *);
65 virtual void write(JArray
< jbyte
> *, jint
, jint
);
67 public: // actually protected
71 virtual void writeBoolean(jboolean
);
72 virtual void writeByte(jint
);
73 virtual void writeShort(jint
);
74 virtual void writeChar(jint
);
75 virtual void writeInt(jint
);
76 virtual void writeLong(jlong
);
77 virtual void writeFloat(jfloat
);
78 virtual void writeDouble(jdouble
);
79 virtual void writeBytes(::java::lang::String
*);
80 virtual void writeChars(::java::lang::String
*);
81 virtual void writeUTF(::java::lang::String
*);
82 virtual ::java::io::ObjectOutputStream$PutField
* putFields();
83 virtual void writeFields();
85 void writeBlockDataHeader(jint
);
86 jint
findHandle(::java::lang::Object
*);
87 jint
assignNewHandle(::java::lang::Object
*);
89 void writeArraySizeAndElements(::java::lang::Object
*, ::java::lang::Class
*);
90 void writeFields(::java::lang::Object
*, ::java::io::ObjectStreamClass
*);
91 void writeFields(::java::lang::Object
*, JArray
< ::java::io::ObjectStreamField
* > *);
92 public: // actually package-private
93 virtual jboolean
setBlockDataMode(jboolean
);
95 void callWriteMethod(::java::lang::Object
*, ::java::io::ObjectStreamClass
*);
96 void dumpElementln(::java::lang::String
*, ::java::lang::Object
*);
97 void dumpElementln(::java::lang::String
*);
98 static const jint BUFFER_SIZE
= 1024;
99 static jint defaultProtocolVersion
;
100 ::java::io::DataOutputStream
* __attribute__((aligned(__alignof__( ::java::io::OutputStream
)))) dataOutput
;
101 jboolean writeDataAsBlocks
;
102 ::java::io::DataOutputStream
* realOutput
;
103 ::java::io::DataOutputStream
* blockDataOutput
;
104 JArray
< jbyte
> * blockData
;
106 ::java::lang::Object
* currentObject
;
107 public: // actually package-private
108 ::java::io::ObjectStreamClass
* currentObjectStreamClass
;
110 ::java::io::ObjectOutputStream$PutField
* currentPutField
;
111 jboolean fieldsAlreadyWritten
;
112 jboolean replacementEnabled
;
113 jboolean isSerializing
;
115 ::gnu::java::io::ObjectIdentityMap2Int
* OIDLookupTable
;
116 jint protocolVersion
;
117 jboolean useSubclassMethod
;
118 ::gnu::java::security::action::SetAccessibleAction
* setAccessible
;
121 static const jboolean DEBUG
= 0;
123 static ::java::lang::Class
class$
;
126 #endif // __java_io_ObjectOutputStream__