AI-generated Key Takeaways
-
ObjectStreamFielddescribes a Serializable field from a Serializable class and is used to declare Serializable fields of a class. -
It provides methods to get the name, type, offset, and other information about the field.
-
Two constructors allow creation of
ObjectStreamFieldwith field name and type, with an optional unshared flag for customized serialization and deserialization. -
ObjectStreamFieldimplementsComparableto allow comparison with otherObjectStreamFieldinstances. -
isUnshared()indicates if the field is serialized and deserialized using writeUnshared/readUnshared methods.
A description of a Serializable field from a Serializable class. An array of ObjectStreamFields is used to declare the Serializable fields of a class.
See Also
Public Constructor Summary
|
ObjectStreamField(String name, Class<?> type, boolean unshared)
Creates an ObjectStreamField representing a serializable field with the
given name and type.
|
Public Method Summary
| int | |
| String |
getName()
Get the name of this field.
|
| int |
getOffset()
Offset of field within instance data.
|
| Class<?> |
getType()
Get the type of the field.
|
| char |
getTypeCode()
Returns character encoding of field type.
|
| String |
getTypeString()
Return the JVM type signature.
|
| boolean |
isPrimitive()
Return true if this field has a primitive type.
|
| boolean |
isUnshared()
Returns boolean value indicating whether or not the serializable field
represented by this ObjectStreamField instance is unshared.
|
| String |
toString()
Return a string that describes this field.
|
Protected Method Summary
| void |
setOffset(int offset)
Offset within instance data.
|
Inherited Method Summary
Public Constructors
public ObjectStreamField (String name, Class<?> type)
Create a Serializable field with the specified type. This field should
be documented with a serialField tag.
Parameters
| name | the name of the serializable field |
|---|---|
| type | the Class object of the serializable field
|
public 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.
Parameters
| name | field name |
|---|---|
| type | field type |
| unshared | if false, write/read field values in the same manner as writeObject/readObject; if true, write/read in the same manner as writeUnshared/readUnshared |
Public Methods
public 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.
Parameters
| obj |
|---|
public String getName ()
Get the name of this field.
Returns
- a
Stringrepresenting the name of the serializable field
public int getOffset ()
public 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.
Returns
- a
Classobject representing the type of the serializable field
public 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
Returns
- the typecode of the serializable field
public String getTypeString ()
Return the JVM type signature.
Returns
- null if this field has a primitive type.
public boolean isPrimitive ()
Return true if this field has a primitive type.
Returns
- true if and only if this field corresponds to a primitive type
public boolean isUnshared ()
Returns boolean value indicating whether or not the serializable field represented by this ObjectStreamField instance is unshared.
Returns
trueif this field is unshared
public String toString ()
Return a string that describes this field.
Returns
- a printable representation of this object.