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 public: // actually protected
40 virtual void writeClassDescriptor(::java::io::ObjectStreamClass *);
42 virtual void defaultWriteObject();
44 void markFieldsWritten();
50 virtual void useProtocolVersion(jint);
51 public: // actually protected
52 virtual void annotateClass(::java::lang::Class *);
53 virtual void annotateProxyClass(::java::lang::Class *);
54 virtual ::java::lang::Object * replaceObject(::java::lang::Object *);
55 virtual jboolean enableReplaceObject(jboolean);
56 virtual void writeStreamHeader();
58 virtual void writeObjectOverride(::java::lang::Object *);
60 virtual void write(jint);
61 virtual void write(JArray< jbyte > *);
62 virtual void write(JArray< jbyte > *, jint, jint);
64 public: // actually protected
68 virtual void writeBoolean(jboolean);
69 virtual void writeByte(jint);
70 virtual void writeShort(jint);
71 virtual void writeChar(jint);
72 virtual void writeInt(jint);
73 virtual void writeLong(jlong);
74 virtual void writeFloat(jfloat);
75 virtual void writeDouble(jdouble);
76 virtual void writeBytes(::java::lang::String *);
77 virtual void writeChars(::java::lang::String *);
78 virtual void writeUTF(::java::lang::String *);
79 virtual ::java::io::ObjectOutputStream$PutField * putFields();
80 virtual void writeFields();
82 void writeBlockDataHeader(jint);
83 jint findHandle(::java::lang::Object *);
84 jint assignNewHandle(::java::lang::Object *);
86 void writeArraySizeAndElements(::java::lang::Object *, ::java::lang::Class *);
87 void writeFields(::java::lang::Object *, ::java::io::ObjectStreamClass *);
88 void writeFields(::java::lang::Object *, JArray< ::java::io::ObjectStreamField * > *);
89 public: // actually package-private
90 virtual jboolean setBlockDataMode(jboolean);
92 void callWriteMethod(::java::lang::Object *, ::java::io::ObjectStreamClass *);
93 void dumpElementln(::java::lang::String *, ::java::lang::Object *);
94 void dumpElementln(::java::lang::String *);
95 static const jint BUFFER_SIZE = 1024;
96 static jint defaultProtocolVersion;
97 ::java::io::DataOutputStream * __attribute__((aligned(__alignof__( ::java::io::OutputStream)))) dataOutput;
98 jboolean writeDataAsBlocks;
99 ::java::io::DataOutputStream * realOutput;
100 ::java::io::DataOutputStream * blockDataOutput;
101 JArray< jbyte > * blockData;
103 ::java::lang::Object * currentObject;
104 public: // actually package-private
105 ::java::io::ObjectStreamClass * currentObjectStreamClass;
107 ::java::io::ObjectOutputStream$PutField * currentPutField;
108 jboolean fieldsAlreadyWritten;
109 jboolean replacementEnabled;
110 jboolean isSerializing;
112 ::gnu::java::io::ObjectIdentityMap2Int * OIDLookupTable;
113 jint protocolVersion;
114 jboolean useSubclassMethod;
115 ::gnu::java::security::action::SetAccessibleAction * setAccessible;
118 static const jboolean DEBUG = 0;
120 static ::java::lang::Class class$;
123 #endif // __java_io_ObjectOutputStream__