Package java.io

Class ObjectStreamField

java.lang.Object
java.io.ObjectStreamField
All Implemented Interfaces:
Comparable<Object>

public class ObjectStreamField
extends Object
implements Comparable<Object>
Describes a field for the purpose of serialization. Classes can define the collection of fields that are serialized, which may be different from the set of all declared fields.
See Also:
ObjectOutputStream.writeFields(), ObjectInputStream.readFields()
  • Constructor Summary

    Constructors
    Constructor Description
    ObjectStreamField​(String name, Class<?> cl)
    Constructs an ObjectStreamField with the specified name and type.
    ObjectStreamField​(String name, Class<?> cl, boolean unshared)
    Constructs an ObjectStreamField with the specified name, type and the indication if it is unshared.
  • Method Summary

    Modifier and Type Method Description
    int compareTo​(Object o)
    Compares this field descriptor to the specified one.
    String getName()
    Gets the name of this field.
    int getOffset()
    Gets the offset of this field in the object.
    Class<?> getType()
    Gets the type of this field.
    char getTypeCode()
    Gets a character code for the type of this field.
    String getTypeString()
    Gets the type signature used by the VM to represent the type of this field.
    boolean isPrimitive()
    Indicates whether this field's type is a primitive type.
    boolean isUnshared()
    Indicates whether this field is unshared.
    protected void setOffset​(int newValue)
    Sets this field's offset in the object.
    String toString()
    Returns a string containing a concise, human-readable description of this field descriptor.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • ObjectStreamField

      public ObjectStreamField​(String name, Class<?> cl)
      Constructs an ObjectStreamField with the specified name and type.
      Parameters:
      name - the name of the field.
      cl - the type of the field.
      Throws:
      NullPointerException - if name or cl is null.
    • ObjectStreamField

      public ObjectStreamField​(String name, Class<?> cl, boolean unshared)
      Constructs an ObjectStreamField with the specified name, type and the indication if it is unshared.
      Parameters:
      name - the name of the field.
      cl - the type of the field.
      unshared - true if the field is written and read unshared; false otherwise.
      Throws:
      NullPointerException - if name or cl is null.
      See Also:
      ObjectOutputStream.writeUnshared(Object)
  • Method Details

    • compareTo

      public int compareTo​(Object o)
      Compares this field descriptor to the specified one. Checks first if one of the compared fields has a primitive type and the other one not. If so, the field with the primitive type is considered to be "smaller". If both fields are equal, their names are compared.
      Specified by:
      compareTo in interface Comparable<Object>
      Parameters:
      o - the object to compare with.
      Returns:
      -1 if this field is "smaller" than field o, 0 if both fields are equal; 1 if this field is "greater" than field o.
    • getName

      public String getName()
      Gets the name of this field.
      Returns:
      the field's name.
    • getOffset

      public int getOffset()
      Gets the offset of this field in the object.
      Returns:
      this field's offset.
    • getType

      public Class<?> getType()
      Gets the type of this field.
      Returns:
      a Class object representing the type of the field.
    • getTypeCode

      public char getTypeCode()
      Gets a character code for the type of this field. The following codes are used:
       B     byte
       C     char
       D     double
       F     float
       I     int
       J     long
       L     class or interface
       S     short
       Z     boolean
       [     array
       
      Returns:
      the field's type code.
    • getTypeString

      public String getTypeString()
      Gets the type signature used by the VM to represent the type of this field.
      Returns:
      the signature of this field's class or null if this field's type is primitive.
    • isPrimitive

      public boolean isPrimitive()
      Indicates whether this field's type is a primitive type.
      Returns:
      true if this field's type is primitive; false if the type of this field is a regular class.
    • setOffset

      protected void setOffset​(int newValue)
      Sets this field's offset in the object.
      Parameters:
      newValue - the field's new offset.
    • toString

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

      public boolean isUnshared()
      Indicates whether this field is unshared.
      Returns:
      true if this field is unshared, false otherwise.