Package java.io

Class ObjectStreamClass

  • All Implemented Interfaces:
    Serializable

    public class ObjectStreamClass
    extends Object
    implements Serializable
    Represents a descriptor for identifying a class during serialization and deserialization. Information contained in the descriptor includes the name and SUID of the class as well as field names and types. Information inherited from the superclasses is also taken into account.
    See Also:
    ObjectOutputStream, ObjectInputStream, Class, Serialized Form
    • Field Detail

      • NO_FIELDS

        public static final ObjectStreamField[] NO_FIELDS
        Constant indicating that the class has no Serializable fields.
    • Method Detail

      • forClass

        public Class<?> forClass()
        Returns the class (java.lang.Class) for this descriptor.
        Returns:
        the class in the local VM that this descriptor represents; null if there is no corresponding class.
      • getField

        public ObjectStreamField getField​(String name)
        Gets a field descriptor of the class represented by this class descriptor.
        Parameters:
        name - the name of the desired field.
        Returns:
        the field identified by name or null if there is no such field.
      • getFields

        public ObjectStreamField[] getFields()
        Returns a collection of field descriptors for the serialized fields of the class represented by this class descriptor.
        Returns:
        an array of field descriptors or an array of length zero if there are no fields in this descriptor's class.
      • getName

        public String getName()
        Returns the name of the class represented by this descriptor.
        Returns:
        the fully qualified name of the class this descriptor represents.
      • getSerialVersionUID

        public long getSerialVersionUID()
        Returns the Serial Version User ID of the class represented by this descriptor.
        Returns:
        the SUID for the class represented by this descriptor.
      • lookup

        public static ObjectStreamClass lookup​(Class<?> cl)
        Returns the descriptor for a serializable class. Returns null if the class doesn't implement Serializable or Externalizable.
        Parameters:
        cl - a java.lang.Class for which to obtain the corresponding descriptor
        Returns:
        the corresponding descriptor if the class is serializable or externalizable; null otherwise.
      • lookupAny

        public static ObjectStreamClass lookupAny​(Class<?> cl)
        Returns the descriptor for any class, whether or not the class implements Serializable or Externalizable.
        Parameters:
        cl - a java.lang.Class for which to obtain the corresponding descriptor
        Returns:
        the descriptor
        Since:
        1.6
      • toString

        public String toString()
        Returns a string containing a concise, human-readable description of this descriptor.
        Overrides:
        toString in class Object
        Returns:
        a printable representation of this descriptor.
      • checkAndGetTcObjectClass

        public Class<?> checkAndGetTcObjectClass()
                                          throws InvalidClassException
        Checks the local class to make sure it is valid for ObjectStreamConstants.TC_OBJECT deserialization. Also performs some sanity checks of the stream data. This method is used during deserialization to confirm the local class is likely to be compatible with the coming stream data, but before an instance is instantiated.
        Throws:
        InvalidClassException
      • checkAndGetTcEnumClass

        public Class<?> checkAndGetTcEnumClass()
                                        throws InvalidClassException
        Checks the local class to make sure it is valid for ObjectStreamConstants.TC_ENUM deserialization. This method is used during deserialization to confirm the local class is likely to be compatible with the coming stream data, but before an instance is instantiated.
        Throws:
        InvalidClassException