public class ObjectStreamField extends Object implements Comparable<Object>
A description of a Serializable field from a Serializable class. An array of ObjectStreamFields is used to declare the Serializable fields of a class.
ObjectStreamClass
public ObjectStreamField(String name, Class<?> type)
Create a Serializable field with the specified type. This field should be documented with a serialField
tag.
name
- the name of the serializable fieldtype
- the Class
object of the serializable fieldpublic ObjectStreamField(String name, Class<?> type, boolean unshared)
Creates an ObjectStreamField representing a serializable field with the given name and type. If unshared is false, values of the represented field are serialized and deserialized in the default manner--if the field is non-primitive, object values are serialized and deserialized as if they had been written and read by calls to writeObject and readObject. If unshared is true, values of the represented field are serialized and deserialized as if they had been written and read by calls to writeUnshared and readUnshared.
name
- field nametype
- field typeunshared
- if false, write/read field values in the same manner as writeObject/readObject; if true, write/read in the same manner as writeUnshared/readUnsharedpublic String getName()
Get the name of this field.
String
representing the name of the serializable fieldpublic Class<?> getType()
Get the type of the field. If the type is non-primitive and this ObjectStreamField
was obtained from a deserialized ObjectStreamClass
instance, then Object.class
is returned. Otherwise, the Class
object for the type of the field is returned.
Class
object representing the type of the serializable fieldpublic char getTypeCode()
Returns character encoding of field type. The encoding is as follows:
B byte C char D double F float I int J long L class or interface S short Z boolean [ array
public String getTypeString()
Return the JVM type signature.
public int getOffset()
Offset of field within instance data.
setOffset(int)
protected void setOffset(int offset)
Offset within instance data.
offset
- the offset of the fieldgetOffset()
public boolean isPrimitive()
Return true if this field has a primitive type.
public boolean isUnshared()
Returns boolean value indicating whether or not the serializable field represented by this ObjectStreamField instance is unshared.
true
if this field is unsharedpublic int compareTo(Object obj)
Compare this field with another ObjectStreamField
. Return -1 if this is smaller, 0 if equal, 1 if greater. Types that are primitives are "smaller" than object types. If equal, the field names are compared.
compareTo
in interface Comparable<Object>
obj
- the object to be compared.public String toString()
Return a string that describes this field.
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.