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__