JML

java.io
Class ObjectStreamClass

java.lang.Object
  extended byjava.io.ObjectStreamClass
All Implemented Interfaces:
Serializable

public class ObjectStreamClass
extends Object
implements Serializable


Nested Class Summary
(package private) static class ObjectStreamClass.ClassDataSlot
           
private static class ObjectStreamClass.EntryFuture
           
private static class ObjectStreamClass.FieldReflector
           
private static class ObjectStreamClass.FieldReflectorKey
           
private static class ObjectStreamClass.MemberSignature
           
 
Model Field Summary
 
Model fields inherited from class java.lang.Object
_getClass, objectState, theString
 
Ghost Field Summary
 
Ghost fields inherited from class java.lang.Object
objectTimesFinalized, owner
 
Field Summary
private  Class cl
           
private  Constructor cons
           
private  ObjectStreamClass.ClassDataSlot[] dataLayout
           
private  InvalidClassException defaultSerializeEx
           
private  InvalidClassException deserializeEx
           
private  boolean externalizable
           
private  ObjectStreamClass.FieldReflector fieldRefl
           
private  ObjectStreamField[] fields
           
private  boolean hasBlockExternalData
           
private  boolean hasWriteObjectData
           
private  boolean isProxy
           
private  ObjectStreamClass localDesc
           
private static sun.misc.SoftCache localDescs
           
private  String name
           
static ObjectStreamField[] NO_FIELDS
           
private  int numObjFields
           
private  int primDataSize
           
private  Method readObjectMethod
           
private  Method readObjectNoDataMethod
           
private  Method readResolveMethod
           
private static sun.misc.SoftCache reflectors
           
private static sun.reflect.ReflectionFactory reflFactory
           
private  ClassNotFoundException resolveEx
           
private  boolean serializable
           
private  InvalidClassException serializeEx
           
private static ObjectStreamField[] serialPersistentFields
           
private static long serialVersionUID
           
private  Long suid
           
private  ObjectStreamClass superDesc
           
private  Method writeObjectMethod
           
private  Method writeReplaceMethod
           
 
Constructor Summary
(package private) ObjectStreamClass()
           
private ObjectStreamClass(Class)
           
 
Model Method Summary
 
Model methods inherited from class java.lang.Object
hashValue
 
Method Summary
(package private)  void checkDefaultSerialize()
           
(package private)  void checkDeserialize()
           
(package private)  void checkSerialize()
           
private static boolean classNamesEqual(String, String)
           
private static long computeDefaultSUID(Class)
           
private  void computeFieldOffsets()
           
 Class forClass()
           
(package private)  ObjectStreamClass.ClassDataSlot[] getClassDataLayout()
           
private  ObjectStreamClass.ClassDataSlot[] getClassDataLayout0()
           
(package private) static String getClassSignature(Class)
           
private static ObjectStreamField[] getDeclaredSerialFields(Class)
           
private static Long getDeclaredSUID(Class)
           
private static ObjectStreamField[] getDefaultSerialFields(Class)
           
private static Constructor getExternalizableConstructor(Class)
           
 ObjectStreamField getField(String)
           
(package private)  ObjectStreamField getField(String, Class)
           
 ObjectStreamField[] getFields()
           
(package private)  ObjectStreamField[] getFields(boolean)
           
private static Method getInheritableMethod(Class, String, Class[], Class)
           
(package private)  ObjectStreamClass getLocalDesc()
           
private static String getMethodSignature(Class[], Class)
           
 String getName()
           
(package private)  int getNumObjFields()
           
(package private)  void getObjFieldValues(Object, Object[])
           
private static String getPackageName(Class)
           
(package private)  int getPrimDataSize()
           
(package private)  void getPrimFieldValues(Object, byte[])
           
private static Method getPrivateMethod(Class, String, Class[], Class)
           
private static ObjectStreamClass.FieldReflector getReflector(ObjectStreamField[], ObjectStreamClass)
           
(package private)  ClassNotFoundException getResolveException()
           
private static ObjectStreamField[] getSerialFields(Class)
           
private static Constructor getSerializableConstructor(Class)
           
 long getSerialVersionUID()
           
(package private)  ObjectStreamClass getSuperDesc()
           
private  ObjectStreamClass getVariantFor(Class)
           
(package private)  boolean hasBlockExternalData()
           
(package private)  boolean hasReadObjectMethod()
           
(package private)  boolean hasReadObjectNoDataMethod()
           
(package private)  boolean hasReadResolveMethod()
           
private static boolean hasStaticInitializer(Class)
           
(package private)  boolean hasWriteObjectData()
           
(package private)  boolean hasWriteObjectMethod()
           
(package private)  boolean hasWriteReplaceMethod()
           
private static void initNative()
           
(package private)  void initNonProxy(ObjectStreamClass, Class, ClassNotFoundException, ObjectStreamClass)
           
(package private)  void initProxy(Class, ClassNotFoundException, ObjectStreamClass)
           
(package private)  void invokeReadObject(Object, ObjectInputStream)
           
(package private)  void invokeReadObjectNoData(Object)
           
(package private)  Object invokeReadResolve(Object)
           
(package private)  void invokeWriteObject(Object, ObjectOutputStream)
           
(package private)  Object invokeWriteReplace(Object)
           
(package private)  boolean isExternalizable()
           
(package private)  boolean isInstantiable()
           
(package private)  boolean isProxy()
           
(package private)  boolean isSerializable()
           
static ObjectStreamClass lookup(Class)
           
(package private) static ObjectStreamClass lookup(Class, boolean)
           
private static ObjectStreamField[] matchFields(ObjectStreamField[], ObjectStreamClass)
           
(package private)  Object newInstance()
           
private static boolean packageEquals(Class, Class)
           
(package private)  void readNonProxy(ObjectInputStream)
           
(package private)  void setObjFieldValues(Object, Object[])
           
(package private)  void setPrimFieldValues(Object, byte[])
           
private static void throwMiscException(Throwable)
           
 String toString()
           
(package private)  void writeNonProxy(ObjectOutputStream)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

readObjectMethod

private Method readObjectMethod

superDesc

private ObjectStreamClass superDesc

writeReplaceMethod

private Method writeReplaceMethod

primDataSize

private int primDataSize

externalizable

private boolean externalizable

fieldRefl

private ObjectStreamClass.FieldReflector fieldRefl

cl

private Class cl

reflFactory

private static final sun.reflect.ReflectionFactory reflFactory

isProxy

private boolean isProxy

readResolveMethod

private Method readResolveMethod

writeObjectMethod

private Method writeObjectMethod

reflectors

private static final sun.misc.SoftCache reflectors

serializeEx

private InvalidClassException serializeEx

numObjFields

private int numObjFields

serializable

private boolean serializable

serialPersistentFields

private static final ObjectStreamField[] serialPersistentFields

readObjectNoDataMethod

private Method readObjectNoDataMethod

NO_FIELDS

public static final ObjectStreamField[] NO_FIELDS

localDescs

private static final sun.misc.SoftCache localDescs

serialVersionUID

private static final long serialVersionUID

defaultSerializeEx

private InvalidClassException defaultSerializeEx

localDesc

private ObjectStreamClass localDesc

cons

private Constructor cons

resolveEx

private ClassNotFoundException resolveEx

name

private String name

hasBlockExternalData

private boolean hasBlockExternalData

suid

private volatile Long suid

deserializeEx

private InvalidClassException deserializeEx

hasWriteObjectData

private boolean hasWriteObjectData

dataLayout

private volatile ObjectStreamClass.ClassDataSlot[] dataLayout

fields

private ObjectStreamField[] fields
Constructor Detail

ObjectStreamClass

ObjectStreamClass()

ObjectStreamClass

private ObjectStreamClass(Class)
Method Detail

getNumObjFields

int getNumObjFields()

getPrimDataSize

int getPrimDataSize()

getSerialVersionUID

public long getSerialVersionUID()

checkDefaultSerialize

void checkDefaultSerialize()
                     throws InvalidClassException
Throws:
InvalidClassException

checkDeserialize

void checkDeserialize()
                throws InvalidClassException
Throws:
InvalidClassException

checkSerialize

void checkSerialize()
              throws InvalidClassException
Throws:
InvalidClassException

computeFieldOffsets

private void computeFieldOffsets()
                          throws InvalidClassException
Throws:
InvalidClassException

initNative

private static void initNative()

hasBlockExternalData

boolean hasBlockExternalData()

hasReadObjectMethod

boolean hasReadObjectMethod()

hasReadObjectNoDataMethod

boolean hasReadObjectNoDataMethod()

hasReadResolveMethod

boolean hasReadResolveMethod()

hasWriteObjectData

boolean hasWriteObjectData()

hasWriteObjectMethod

boolean hasWriteObjectMethod()

hasWriteReplaceMethod

boolean hasWriteReplaceMethod()

isExternalizable

boolean isExternalizable()

isInstantiable

boolean isInstantiable()

isProxy

boolean isProxy()

isSerializable

boolean isSerializable()

readNonProxy

void readNonProxy(ObjectInputStream)
            throws IOException,
                   ClassNotFoundException
Throws:
IOException
ClassNotFoundException

writeNonProxy

void writeNonProxy(ObjectOutputStream)
             throws IOException
Throws:
IOException

getLocalDesc

ObjectStreamClass getLocalDesc()

getSuperDesc

ObjectStreamClass getSuperDesc()

getClassDataLayout

ObjectStreamClass.ClassDataSlot[] getClassDataLayout()
                                               throws InvalidClassException
Throws:
InvalidClassException

getClassDataLayout0

private ObjectStreamClass.ClassDataSlot[] getClassDataLayout0()
                                                       throws InvalidClassException
Throws:
InvalidClassException

getFields

public ObjectStreamField[] getFields()

getFields

ObjectStreamField[] getFields(boolean)

forClass

public Class forClass()

computeDefaultSUID

private static long computeDefaultSUID(Class)

hasStaticInitializer

private static boolean hasStaticInitializer(Class)

getResolveException

ClassNotFoundException getResolveException()

newInstance

Object newInstance()
             throws InstantiationException,
                    InvocationTargetException,
                    UnsupportedOperationException
Throws:
InstantiationException
InvocationTargetException
UnsupportedOperationException

invokeReadObjectNoData

void invokeReadObjectNoData(Object)
                      throws IOException,
                             UnsupportedOperationException
Throws:
IOException
UnsupportedOperationException

getPrimFieldValues

void getPrimFieldValues(Object,
                        byte[])

setPrimFieldValues

void setPrimFieldValues(Object,
                        byte[])

getName

public String getName()

toString

public String toString()
Overrides:
toString in class Object

throwMiscException

private static void throwMiscException(Throwable)
                                throws IOException
Throws:
IOException

invokeReadObject

void invokeReadObject(Object,
                      ObjectInputStream)
                throws ClassNotFoundException,
                       IOException,
                       UnsupportedOperationException
Throws:
ClassNotFoundException
IOException
UnsupportedOperationException

invokeWriteObject

void invokeWriteObject(Object,
                       ObjectOutputStream)
                 throws IOException,
                        UnsupportedOperationException
Throws:
IOException
UnsupportedOperationException

getVariantFor

private ObjectStreamClass getVariantFor(Class)
                                 throws InvalidClassException
Throws:
InvalidClassException

lookup

public static ObjectStreamClass lookup(Class)

lookup

static ObjectStreamClass lookup(Class,
                                boolean)

getDeclaredSerialFields

private static ObjectStreamField[] getDeclaredSerialFields(Class)
                                                    throws InvalidClassException
Throws:
InvalidClassException

getDefaultSerialFields

private static ObjectStreamField[] getDefaultSerialFields(Class)

getSerialFields

private static ObjectStreamField[] getSerialFields(Class)
                                            throws InvalidClassException
Throws:
InvalidClassException

getField

public ObjectStreamField getField(String)

packageEquals

private static boolean packageEquals(Class,
                                     Class)

getDeclaredSUID

private static Long getDeclaredSUID(Class)

invokeReadResolve

Object invokeReadResolve(Object)
                   throws IOException,
                          UnsupportedOperationException
Throws:
IOException
UnsupportedOperationException

invokeWriteReplace

Object invokeWriteReplace(Object)
                    throws IOException,
                           UnsupportedOperationException
Throws:
IOException
UnsupportedOperationException

getObjFieldValues

void getObjFieldValues(Object,
                       Object[])

setObjFieldValues

void setObjFieldValues(Object,
                       Object[])

getClassSignature

static String getClassSignature(Class)

getPackageName

private static String getPackageName(Class)

classNamesEqual

private static boolean classNamesEqual(String,
                                       String)

getExternalizableConstructor

private static Constructor getExternalizableConstructor(Class)

getSerializableConstructor

private static Constructor getSerializableConstructor(Class)

initProxy

void initProxy(Class,
               ClassNotFoundException,
               ObjectStreamClass)
         throws InvalidClassException
Throws:
InvalidClassException

getReflector

private static ObjectStreamClass.FieldReflector getReflector(ObjectStreamField[],
                                                             ObjectStreamClass)
                                                      throws InvalidClassException
Throws:
InvalidClassException

matchFields

private static ObjectStreamField[] matchFields(ObjectStreamField[],
                                               ObjectStreamClass)
                                        throws InvalidClassException
Throws:
InvalidClassException

getField

ObjectStreamField getField(String,
                           Class)

getMethodSignature

private static String getMethodSignature(Class[],
                                         Class)

initNonProxy

void initNonProxy(ObjectStreamClass,
                  Class,
                  ClassNotFoundException,
                  ObjectStreamClass)
            throws InvalidClassException
Throws:
InvalidClassException

getInheritableMethod

private static Method getInheritableMethod(Class,
                                           String,
                                           Class[],
                                           Class)

getPrivateMethod

private static Method getPrivateMethod(Class,
                                       String,
                                       Class[],
                                       Class)

JML

JML is Copyright (C) 1998-2002 by Iowa State University and is distributed under the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This release depends on code from the MultiJava project and is based in part on the Kopi project Copyright (C) 1990-99 DMS Decision Management Systems Ges.m.b.H.