| |
|
| java.lang.Object java.io.ObjectStreamClass
Inner Class :static class ClassDataSlot | |
Inner Class :static class WeakClassKey extends WeakReference> | |
Constructor Summary | |
| ObjectStreamClass() Creates blank class descriptor which should be initialized via a
subsequent call to initProxy(), initNonProxy() or readNonProxy(). |
Method Summary | |
void | checkDefaultSerialize() Throws an InvalidClassException if objects whose class is represented by
this descriptor should not be permitted to use default serialization
(e.g., if the class declares serializable fields that do not correspond
to actual fields, and hence must use the GetField API). | void | checkDeserialize() Throws an InvalidClassException if object instances referencing this
class descriptor should not be allowed to deserialize. | void | checkSerialize() Throws an InvalidClassException if objects whose class is represented by
this descriptor should not be allowed to serialize. | public Class> | forClass() Return the class in the local VM that this version is mapped to. | ClassDataSlot[] | getClassDataLayout() Returns array of ClassDataSlot instances representing the data layout
(including superclass data) for serialized objects described by this
class descriptor. | static String | getClassSignature(Class cl) Returns JVM type signature for given class. | public ObjectStreamField | getField(String name) Get the field of this class by name. | ObjectStreamField | getField(String name, Class type) Looks up a serializable field of the represented class by name and type.
A specified type of null matches all types, Object.class matches all
non-primitive types, and any other non-null type matches assignable
types only. | public ObjectStreamField[] | getFields() Return an array of the fields of this serializable class.
an array containing an element for each persistent field ofthis class. | ObjectStreamField[] | getFields(boolean copy) Returns arrays of ObjectStreamFields representing the serializable
fields of the represented class. | ObjectStreamClass | getLocalDesc() Returns the "local" class descriptor for the class associated with this
class descriptor (i.e., the result of
ObjectStreamClass.lookup(this.forClass())) or null if there is no class
associated with this descriptor. | public String | getName() Returns the name of the class described by this descriptor. | int | getNumObjFields() Returns number of non-primitive serializable fields of represented
class. | void | getObjFieldValues(Object obj, Object[] vals) Fetches the serializable object field values of object obj and stores
them in array vals starting at offset 0. | int | getPrimDataSize() Returns aggregate size (in bytes) of marshalled primitive field values
for represented class. | void | getPrimFieldValues(Object obj, byte[] buf) Fetches the serializable primitive field values of object obj and
marshals them into byte array buf starting at offset 0. | ClassNotFoundException | getResolveException() Returns ClassNotFoundException (if any) thrown while attempting to
resolve local class corresponding to this class descriptor. | public long | getSerialVersionUID() Return the serialVersionUID for this class. | ObjectStreamClass | getSuperDesc() Returns superclass descriptor. | boolean | hasBlockExternalData() Returns true if class descriptor represents externalizable class that
has written its data in 1.2 (block data) format, false otherwise. | boolean | hasReadObjectMethod() Returns true if represented class is serializable (but not
externalizable) and defines a conformant readObject method. | boolean | hasReadObjectNoDataMethod() Returns true if represented class is serializable (but not
externalizable) and defines a conformant readObjectNoData method. | boolean | hasReadResolveMethod() Returns true if represented class is serializable or externalizable and
defines a conformant readResolve method. | boolean | hasWriteObjectData() Returns true if class descriptor represents serializable (but not
externalizable) class which has written its data via a custom
writeObject() method, false otherwise. | boolean | hasWriteObjectMethod() Returns true if represented class is serializable (but not
externalizable) and defines a conformant writeObject method. | boolean | hasWriteReplaceMethod() Returns true if represented class is serializable or externalizable and
defines a conformant writeReplace method. | void | initNonProxy(ObjectStreamClass model, Class cl, ClassNotFoundException resolveEx, ObjectStreamClass superDesc) Initializes class descriptor representing a non-proxy class. | void | initProxy(Class cl, ClassNotFoundException resolveEx, ObjectStreamClass superDesc) Initializes class descriptor representing a proxy class. | void | invokeReadObject(Object obj, ObjectInputStream in) Invokes the readObject method of the represented serializable class. | void | invokeReadObjectNoData(Object obj) Invokes the readObjectNoData method of the represented serializable
class. | Object | invokeReadResolve(Object obj) Invokes the readResolve method of the represented serializable class and
returns the result. | void | invokeWriteObject(Object obj, ObjectOutputStream out) Invokes the writeObject method of the represented serializable class. | Object | invokeWriteReplace(Object obj) Invokes the writeReplace method of the represented serializable class and
returns the result. | boolean | isEnum() Returns true if class descriptor represents an enum type, false
otherwise. | boolean | isExternalizable() Returns true if represented class implements Externalizable, false
otherwise. | boolean | isInstantiable() Returns true if represented class is serializable/externalizable and can
be instantiated by the serialization runtime--i.e., if it is
externalizable and defines a public no-arg constructor, or if it is
non-externalizable and its first non-serializable superclass defines an
accessible no-arg constructor. | boolean | isProxy() Returns true if class descriptor represents a dynamic proxy class, false
otherwise. | boolean | isSerializable() Returns true if represented class implements Serializable, false
otherwise. | public static ObjectStreamClass | lookup(Class> cl) Find the descriptor for a class that can be serialized. | static ObjectStreamClass | lookup(Class cl, boolean all) Looks up and returns class descriptor for given class, or null if class
is non-serializable and "all" is set to false. | public static ObjectStreamClass | lookupAny(Class> cl) Returns the descriptor for any class, regardless of whether it
implements
Serializable . | Object | newInstance() Creates a new instance of the represented class. | static void | processQueue(ReferenceQueue<Class<?>> queue, ConcurrentMap<? extends WeakReference<Class<?>>, ?> map) Removes from the specified map any keys that have been enqueued
on the specified reference queue. | void | readNonProxy(ObjectInputStream in) Reads non-proxy class descriptor information from given input stream. | void | setObjFieldValues(Object obj, Object[] vals) Sets the serializable object fields of object obj using values from
array vals starting at offset 0. | void | setPrimFieldValues(Object obj, byte[] buf) Sets the serializable primitive fields of object obj using values
unmarshalled from byte array buf starting at offset 0. | public String | toString() Return a string describing this ObjectStreamClass. | void | writeNonProxy(ObjectOutputStream out) Writes non-proxy class descriptor information to given output stream. |
NO_FIELDS | final public static ObjectStreamField[] NO_FIELDS(Code) | | serialPersistentFields value indicating no serializable fields
|
ObjectStreamClass | ObjectStreamClass()(Code) | | Creates blank class descriptor which should be initialized via a
subsequent call to initProxy(), initNonProxy() or readNonProxy().
|
checkDefaultSerialize | void checkDefaultSerialize() throws InvalidClassException(Code) | | Throws an InvalidClassException if objects whose class is represented by
this descriptor should not be permitted to use default serialization
(e.g., if the class declares serializable fields that do not correspond
to actual fields, and hence must use the GetField API). This method
does not apply to deserialization of enum constants.
|
checkDeserialize | void checkDeserialize() throws InvalidClassException(Code) | | Throws an InvalidClassException if object instances referencing this
class descriptor should not be allowed to deserialize. This method does
not apply to deserialization of enum constants.
|
checkSerialize | void checkSerialize() throws InvalidClassException(Code) | | Throws an InvalidClassException if objects whose class is represented by
this descriptor should not be allowed to serialize. This method does
not apply to serialization of enum constants.
|
forClass | public Class> forClass()(Code) | | Return the class in the local VM that this version is mapped to. Null
is returned if there is no corresponding local class.
the Class instance that this descriptor represents |
getClassDataLayout | ClassDataSlot[] getClassDataLayout() throws InvalidClassException(Code) | | Returns array of ClassDataSlot instances representing the data layout
(including superclass data) for serialized objects described by this
class descriptor. ClassDataSlots are ordered by inheritance with those
containing "higher" superclasses appearing first. The final
ClassDataSlot contains a reference to this descriptor.
|
getClassSignature | static String getClassSignature(Class cl)(Code) | | Returns JVM type signature for given class.
|
getField | public ObjectStreamField getField(String name)(Code) | | Get the field of this class by name.
Parameters: name - the name of the data field to look for The ObjectStreamField object of the named field or null ifthere is no such named field. |
getField | ObjectStreamField getField(String name, Class type)(Code) | | Looks up a serializable field of the represented class by name and type.
A specified type of null matches all types, Object.class matches all
non-primitive types, and any other non-null type matches assignable
types only. Returns matching field, or null if no match found.
|
getFields | public ObjectStreamField[] getFields()(Code) | | Return an array of the fields of this serializable class.
an array containing an element for each persistent field ofthis class. Returns an array of length zero if there are nofields. since: 1.2 |
getFields | ObjectStreamField[] getFields(boolean copy)(Code) | | Returns arrays of ObjectStreamFields representing the serializable
fields of the represented class. If copy is true, a clone of this class
descriptor's field array is returned, otherwise the array itself is
returned.
|
getLocalDesc | ObjectStreamClass getLocalDesc()(Code) | | Returns the "local" class descriptor for the class associated with this
class descriptor (i.e., the result of
ObjectStreamClass.lookup(this.forClass())) or null if there is no class
associated with this descriptor.
|
getName | public String getName()(Code) | | Returns the name of the class described by this descriptor.
This method returns the name of the class in the format that
is used by the
Class.getName method.
a string representing the name of the class |
getNumObjFields | int getNumObjFields()(Code) | | Returns number of non-primitive serializable fields of represented
class.
|
getObjFieldValues | void getObjFieldValues(Object obj, Object[] vals)(Code) | | Fetches the serializable object field values of object obj and stores
them in array vals starting at offset 0. It is the responsibility of
the caller to ensure that obj is of the proper type if non-null.
|
getPrimDataSize | int getPrimDataSize()(Code) | | Returns aggregate size (in bytes) of marshalled primitive field values
for represented class.
|
getPrimFieldValues | void getPrimFieldValues(Object obj, byte[] buf)(Code) | | Fetches the serializable primitive field values of object obj and
marshals them into byte array buf starting at offset 0. It is the
responsibility of the caller to ensure that obj is of the proper type if
non-null.
|
getResolveException | ClassNotFoundException getResolveException()(Code) | | Returns ClassNotFoundException (if any) thrown while attempting to
resolve local class corresponding to this class descriptor.
|
getSerialVersionUID | public long getSerialVersionUID()(Code) | | Return the serialVersionUID for this class. The serialVersionUID
defines a set of classes all with the same name that have evolved from a
common root class and agree to be serialized and deserialized using a
common format. NonSerializable classes have a serialVersionUID of 0L.
the SUID of the class described by this descriptor |
getSuperDesc | ObjectStreamClass getSuperDesc()(Code) | | Returns superclass descriptor. Note that on the receiving side, the
superclass descriptor may be bound to a class that is not a superclass
of the subclass descriptor's bound class.
|
hasBlockExternalData | boolean hasBlockExternalData()(Code) | | Returns true if class descriptor represents externalizable class that
has written its data in 1.2 (block data) format, false otherwise.
|
hasReadObjectMethod | boolean hasReadObjectMethod()(Code) | | Returns true if represented class is serializable (but not
externalizable) and defines a conformant readObject method. Otherwise,
returns false.
|
hasReadObjectNoDataMethod | boolean hasReadObjectNoDataMethod()(Code) | | Returns true if represented class is serializable (but not
externalizable) and defines a conformant readObjectNoData method.
Otherwise, returns false.
|
hasReadResolveMethod | boolean hasReadResolveMethod()(Code) | | Returns true if represented class is serializable or externalizable and
defines a conformant readResolve method. Otherwise, returns false.
|
hasWriteObjectData | boolean hasWriteObjectData()(Code) | | Returns true if class descriptor represents serializable (but not
externalizable) class which has written its data via a custom
writeObject() method, false otherwise.
|
hasWriteObjectMethod | boolean hasWriteObjectMethod()(Code) | | Returns true if represented class is serializable (but not
externalizable) and defines a conformant writeObject method. Otherwise,
returns false.
|
hasWriteReplaceMethod | boolean hasWriteReplaceMethod()(Code) | | Returns true if represented class is serializable or externalizable and
defines a conformant writeReplace method. Otherwise, returns false.
|
invokeReadObjectNoData | void invokeReadObjectNoData(Object obj) throws IOException, UnsupportedOperationException(Code) | | Invokes the readObjectNoData method of the represented serializable
class. Throws UnsupportedOperationException if this class descriptor is
not associated with a class, or if the class is externalizable,
non-serializable or does not define readObjectNoData.
|
invokeReadResolve | Object invokeReadResolve(Object obj) throws IOException, UnsupportedOperationException(Code) | | Invokes the readResolve method of the represented serializable class and
returns the result. Throws UnsupportedOperationException if this class
descriptor is not associated with a class, or if the class is
non-serializable or does not define readResolve.
|
invokeWriteObject | void invokeWriteObject(Object obj, ObjectOutputStream out) throws IOException, UnsupportedOperationException(Code) | | Invokes the writeObject method of the represented serializable class.
Throws UnsupportedOperationException if this class descriptor is not
associated with a class, or if the class is externalizable,
non-serializable or does not define writeObject.
|
invokeWriteReplace | Object invokeWriteReplace(Object obj) throws IOException, UnsupportedOperationException(Code) | | Invokes the writeReplace method of the represented serializable class and
returns the result. Throws UnsupportedOperationException if this class
descriptor is not associated with a class, or if the class is
non-serializable or does not define writeReplace.
|
isEnum | boolean isEnum()(Code) | | Returns true if class descriptor represents an enum type, false
otherwise.
|
isExternalizable | boolean isExternalizable()(Code) | | Returns true if represented class implements Externalizable, false
otherwise.
|
isInstantiable | boolean isInstantiable()(Code) | | Returns true if represented class is serializable/externalizable and can
be instantiated by the serialization runtime--i.e., if it is
externalizable and defines a public no-arg constructor, or if it is
non-externalizable and its first non-serializable superclass defines an
accessible no-arg constructor. Otherwise, returns false.
|
isProxy | boolean isProxy()(Code) | | Returns true if class descriptor represents a dynamic proxy class, false
otherwise.
|
isSerializable | boolean isSerializable()(Code) | | Returns true if represented class implements Serializable, false
otherwise.
|
lookup | public static ObjectStreamClass lookup(Class> cl)(Code) | | Find the descriptor for a class that can be serialized. Creates an
ObjectStreamClass instance if one does not exist yet for class. Null is
returned if the specified class does not implement java.io.Serializable
or java.io.Externalizable.
Parameters: cl - class for which to get the descriptor the class descriptor for the specified class |
lookup | static ObjectStreamClass lookup(Class cl, boolean all)(Code) | | Looks up and returns class descriptor for given class, or null if class
is non-serializable and "all" is set to false.
Parameters: cl - class to look up Parameters: all - if true, return descriptors for all classes; if false, onlyreturn descriptors for serializable classes |
lookupAny | public static ObjectStreamClass lookupAny(Class> cl)(Code) | | Returns the descriptor for any class, regardless of whether it
implements
Serializable .
Parameters: cl - class for which to get the descriptor the class descriptor for the specified class since: 1.6 |
newInstance | Object newInstance() throws InstantiationException, InvocationTargetException, UnsupportedOperationException(Code) | | Creates a new instance of the represented class. If the class is
externalizable, invokes its public no-arg constructor; otherwise, if the
class is serializable, invokes the no-arg constructor of the first
non-serializable superclass. Throws UnsupportedOperationException if
this class descriptor is not associated with a class, if the associated
class is non-serializable or if the appropriate no-arg constructor is
inaccessible/unavailable.
|
readNonProxy | void readNonProxy(ObjectInputStream in) throws IOException, ClassNotFoundException(Code) | | Reads non-proxy class descriptor information from given input stream.
The resulting class descriptor is not fully functional; it can only be
used as input to the ObjectInputStream.resolveClass() and
ObjectStreamClass.initNonProxy() methods.
|
setObjFieldValues | void setObjFieldValues(Object obj, Object[] vals)(Code) | | Sets the serializable object fields of object obj using values from
array vals starting at offset 0. It is the responsibility of the caller
to ensure that obj is of the proper type if non-null.
|
setPrimFieldValues | void setPrimFieldValues(Object obj, byte[] buf)(Code) | | Sets the serializable primitive fields of object obj using values
unmarshalled from byte array buf starting at offset 0. It is the
responsibility of the caller to ensure that obj is of the proper type if
non-null.
|
toString | public String toString()(Code) | | Return a string describing this ObjectStreamClass.
|
|
|
|