1 /*
2 * Copyright (c) 2001, 2003, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
1102 * The total number of object fields.
1103 */
1104 int primBytes;
1105 int objFields;
1106
1107 /* Internal lock object. */
1108 private Object lock = new Object();
1109
1110 /* True if this class has/had a writeObject method */
1111 private boolean hasWriteObjectMethod;
1112
1113 /* In JDK 1.1, external data was not written in block mode.
1114 * As of JDK 1.2, external data is written in block data mode. This
1115 * flag enables JDK 1.2 to be able to read JDK 1.1 written external data.
1116 *
1117 * @since JDK 1.2
1118 */
1119 private boolean hasExternalizableBlockData;
1120 Method writeObjectMethod;
1121 Method readObjectMethod;
1122 private Method writeReplaceObjectMethod;
1123 private Method readResolveObjectMethod;
1124
1125 /*
1126 * ObjectStreamClass_1_3_1 that this one was built from.
1127 */
1128 private ObjectStreamClass_1_3_1 localClassDesc;
1129
1130 /* Get the private static final field for serial version UID */
1131 // private static native long getSerialVersionUIDField(Class cl);
1132
1133 /* The Class Object for java.io.Serializable */
1134 private static Class classSerializable = null;
1135 private static Class classExternalizable = null;
1136
1137 /*
1138 * Resolve java.io.Serializable at load time.
1139 */
1140 static {
1141 try {
1142 classSerializable = Class.forName("java.io.Serializable");
1143 classExternalizable = Class.forName("java.io.Externalizable");
|
1 /*
2 * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
1102 * The total number of object fields.
1103 */
1104 int primBytes;
1105 int objFields;
1106
1107 /* Internal lock object. */
1108 private Object lock = new Object();
1109
1110 /* True if this class has/had a writeObject method */
1111 private boolean hasWriteObjectMethod;
1112
1113 /* In JDK 1.1, external data was not written in block mode.
1114 * As of JDK 1.2, external data is written in block data mode. This
1115 * flag enables JDK 1.2 to be able to read JDK 1.1 written external data.
1116 *
1117 * @since JDK 1.2
1118 */
1119 private boolean hasExternalizableBlockData;
1120 Method writeObjectMethod;
1121 Method readObjectMethod;
1122 private transient Method writeReplaceObjectMethod;
1123 private transient Method readResolveObjectMethod;
1124
1125 /*
1126 * ObjectStreamClass_1_3_1 that this one was built from.
1127 */
1128 private ObjectStreamClass_1_3_1 localClassDesc;
1129
1130 /* Get the private static final field for serial version UID */
1131 // private static native long getSerialVersionUIDField(Class cl);
1132
1133 /* The Class Object for java.io.Serializable */
1134 private static Class classSerializable = null;
1135 private static Class classExternalizable = null;
1136
1137 /*
1138 * Resolve java.io.Serializable at load time.
1139 */
1140 static {
1141 try {
1142 classSerializable = Class.forName("java.io.Serializable");
1143 classExternalizable = Class.forName("java.io.Externalizable");
|