java.io
Class ObjectInputStream.GetFieldImpl

java.lang.Object
  extended byjava.io.ObjectInputStream.GetField
      extended byjava.io.ObjectInputStream.GetFieldImpl
Enclosing class:
ObjectInputStream

private class ObjectInputStream.GetFieldImpl
extends ObjectInputStream.GetField

Default GetField implementation.


Field Summary
private  ObjectStreamClass desc
          class descriptor describing serializable fields
private  int[] objHandles
          object field value handles
private  Object[] objVals
          object field values
private  byte[] primVals
          primitive field values
 
Constructor Summary
(package private) ObjectInputStream.GetFieldImpl(ObjectStreamClass desc)
          Creates GetFieldImpl object for reading fields defined in given class descriptor.
 
Method Summary
 boolean defaulted(String name)
          Return true if the named field is defaulted and has no value in this stream.
 boolean get(String name, boolean val)
          Get the value of the named boolean field from the persistent field.
 byte get(String name, byte val)
          Get the value of the named byte field from the persistent field.
 char get(String name, char val)
          Get the value of the named char field from the persistent field.
 double get(String name, double val)
          Get the value of the named double field from the persistent field.
 float get(String name, float val)
          Get the value of the named float field from the persistent field.
 int get(String name, int val)
          Get the value of the named int field from the persistent field.
 long get(String name, long val)
          Get the value of the named long field from the persistent field.
 Object get(String name, Object val)
          Get the value of the named Object field from the persistent field.
 short get(String name, short val)
          Get the value of the named short field from the persistent field.
private  int getFieldOffset(String name, Class type)
          Returns offset of field with given name and type.
 ObjectStreamClass getObjectStreamClass()
          Get the ObjectStreamClass that describes the fields in the stream.
(package private)  void readFields()
          Reads primitive and object field values from stream.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

desc

private final ObjectStreamClass desc
class descriptor describing serializable fields


primVals

private final byte[] primVals
primitive field values


objVals

private final Object[] objVals
object field values


objHandles

private final int[] objHandles
object field value handles

Constructor Detail

ObjectInputStream.GetFieldImpl

ObjectInputStream.GetFieldImpl(ObjectStreamClass desc)
Creates GetFieldImpl object for reading fields defined in given class descriptor.

Method Detail

getObjectStreamClass

public ObjectStreamClass getObjectStreamClass()
Description copied from class: ObjectInputStream.GetField
Get the ObjectStreamClass that describes the fields in the stream.

Specified by:
getObjectStreamClass in class ObjectInputStream.GetField
Returns:
the descriptor class that describes the serializable fields

defaulted

public boolean defaulted(String name)
                  throws IOException
Description copied from class: ObjectInputStream.GetField
Return true if the named field is defaulted and has no value in this stream.

Specified by:
defaulted in class ObjectInputStream.GetField
Parameters:
name - the name of the field
Returns:
true, if and only if the named field is defaulted
Throws:
IOException - if there are I/O errors while reading from the underlying InputStream

get

public boolean get(String name,
                   boolean val)
            throws IOException
Description copied from class: ObjectInputStream.GetField
Get the value of the named boolean field from the persistent field.

Specified by:
get in class ObjectInputStream.GetField
Parameters:
name - the name of the field
val - the default value to use if name does not have a value
Returns:
the value of the named boolean field
Throws:
IOException - if there are I/O errors while reading from the underlying InputStream

get

public byte get(String name,
                byte val)
         throws IOException
Description copied from class: ObjectInputStream.GetField
Get the value of the named byte field from the persistent field.

Specified by:
get in class ObjectInputStream.GetField
Parameters:
name - the name of the field
val - the default value to use if name does not have a value
Returns:
the value of the named byte field
Throws:
IOException - if there are I/O errors while reading from the underlying InputStream

get

public char get(String name,
                char val)
         throws IOException
Description copied from class: ObjectInputStream.GetField
Get the value of the named char field from the persistent field.

Specified by:
get in class ObjectInputStream.GetField
Parameters:
name - the name of the field
val - the default value to use if name does not have a value
Returns:
the value of the named char field
Throws:
IOException - if there are I/O errors while reading from the underlying InputStream

get

public short get(String name,
                 short val)
          throws IOException
Description copied from class: ObjectInputStream.GetField
Get the value of the named short field from the persistent field.

Specified by:
get in class ObjectInputStream.GetField
Parameters:
name - the name of the field
val - the default value to use if name does not have a value
Returns:
the value of the named short field
Throws:
IOException - if there are I/O errors while reading from the underlying InputStream

get

public int get(String name,
               int val)
        throws IOException
Description copied from class: ObjectInputStream.GetField
Get the value of the named int field from the persistent field.

Specified by:
get in class ObjectInputStream.GetField
Parameters:
name - the name of the field
val - the default value to use if name does not have a value
Returns:
the value of the named int field
Throws:
IOException - if there are I/O errors while reading from the underlying InputStream

get

public float get(String name,
                 float val)
          throws IOException
Description copied from class: ObjectInputStream.GetField
Get the value of the named float field from the persistent field.

Specified by:
get in class ObjectInputStream.GetField
Parameters:
name - the name of the field
val - the default value to use if name does not have a value
Returns:
the value of the named float field
Throws:
IOException - if there are I/O errors while reading from the underlying InputStream

get

public long get(String name,
                long val)
         throws IOException
Description copied from class: ObjectInputStream.GetField
Get the value of the named long field from the persistent field.

Specified by:
get in class ObjectInputStream.GetField
Parameters:
name - the name of the field
val - the default value to use if name does not have a value
Returns:
the value of the named long field
Throws:
IOException - if there are I/O errors while reading from the underlying InputStream

get

public double get(String name,
                  double val)
           throws IOException
Description copied from class: ObjectInputStream.GetField
Get the value of the named double field from the persistent field.

Specified by:
get in class ObjectInputStream.GetField
Parameters:
name - the name of the field
val - the default value to use if name does not have a value
Returns:
the value of the named double field
Throws:
IOException - if there are I/O errors while reading from the underlying InputStream

get

public Object get(String name,
                  Object val)
           throws IOException
Description copied from class: ObjectInputStream.GetField
Get the value of the named Object field from the persistent field.

Specified by:
get in class ObjectInputStream.GetField
Parameters:
name - the name of the field
val - the default value to use if name does not have a value
Returns:
the value of the named Object field
Throws:
IOException - if there are I/O errors while reading from the underlying InputStream

readFields

void readFields()
          throws IOException
Reads primitive and object field values from stream.

Throws:
IOException

getFieldOffset

private int getFieldOffset(String name,
                           Class type)
Returns offset of field with given 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. If no matching field is found in the (incoming) class descriptor but a matching field is present in the associated local class descriptor, returns -1. Throws IllegalArgumentException if neither incoming nor local class descriptor contains a match.