org.apache.jdo.impl.fostore
Class FieldFetcher

java.lang.Object
  extended byorg.apache.jdo.impl.fostore.AbstractFieldManager
      extended byorg.apache.jdo.impl.fostore.FieldFetcher
All Implemented Interfaces:
org.apache.jdo.state.FieldManager

class FieldFetcher
extends AbstractFieldManager

Extend AbstractFieldManager overriding only fetchABCField methods

Author:
Dave Bristor

Field Summary
private  java.lang.ClassLoader candidateLoader
          ClassLoader to use for loading the class of the instance.
private  java.lang.Class cls
          Class of instance being fetched.
private  int currNum
           
private  FOStoreInput fin
          Read values from here.
(package private) static org.apache.commons.logging.Log logger
          Logger
private  FOStoreModel model
           
private static org.apache.jdo.util.I18NHelper msg
          I18N support.
private  OID oid
           
private  OID oldOID
           
private  org.apache.jdo.pm.PersistenceManagerInternal pm
          PM on whose behalf we read
private  boolean skip
           
private  org.apache.jdo.state.StateManagerInternal sm
           
 
Constructor Summary
(package private) FieldFetcher(FOStoreInput fin, FOStoreModel model, org.apache.jdo.pm.PersistenceManagerInternal pm, java.lang.ClassLoader candidateLoader)
           
(package private) FieldFetcher(FOStoreInput fin, FOStoreModel model, org.apache.jdo.pm.PersistenceManagerInternal pm, java.lang.ClassLoader candidateLoader, boolean skip)
          Called by AID when PK fields are written sequentially independent of their actual field numbers.
 
Method Summary
private  void fetch()
          Fetches data from input, resulting in an PersistenceCapable object with state from the datastore.
(package private)  org.apache.jdo.state.StateManagerInternal fetch(OID oid)
          Invoke this if you have an OID for the object that you're fetching.
(package private)  void fetch(org.apache.jdo.state.StateManagerInternal sm, OID oid)
          Invoke this if you have a StateManagerInternal for the object that you're fetching.
 boolean fetchBooleanField(int fieldNum)
           
 byte fetchByteField(int fieldNum)
           
 char fetchCharField(int fieldNum)
           
 double fetchDoubleField(int fieldNum)
           
 float fetchFloatField(int fieldNum)
           
 int fetchIntField(int fieldNum)
           
 long fetchLongField(int fieldNum)
           
 java.lang.Object fetchObjectField(int fieldNum)
           
 short fetchShortField(int fieldNum)
           
 java.lang.String fetchStringField(int fieldNum)
           
(package private)  void setPCClass(java.lang.Class pcClass)
           
private  void skipFields(int fieldNum)
           
 void storeBooleanField(int fieldNum, boolean value)
           
 void storeByteField(int fieldNum, byte value)
           
 void storeCharField(int fieldNum, char value)
           
 void storeDoubleField(int fieldNum, double value)
           
 void storeFloatField(int fieldNum, float value)
           
 void storeIntField(int fieldNum, int value)
           
 void storeLongField(int fieldNum, long value)
           
 void storeObjectField(int fieldNum, java.lang.Object value)
           
 void storeShortField(int fieldNum, short value)
           
 void storeStringField(int fieldNum, java.lang.String value)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

fin

private final FOStoreInput fin
Read values from here.


pm

private final org.apache.jdo.pm.PersistenceManagerInternal pm
PM on whose behalf we read


model

private final FOStoreModel model

candidateLoader

private final java.lang.ClassLoader candidateLoader
ClassLoader to use for loading the class of the instance.


cls

private java.lang.Class cls
Class of instance being fetched.


sm

private org.apache.jdo.state.StateManagerInternal sm

oid

private OID oid

oldOID

private OID oldOID

currNum

private int currNum

skip

private boolean skip

msg

private static final org.apache.jdo.util.I18NHelper msg
I18N support.


logger

static final org.apache.commons.logging.Log logger
Logger

Constructor Detail

FieldFetcher

FieldFetcher(FOStoreInput fin,
             FOStoreModel model,
             org.apache.jdo.pm.PersistenceManagerInternal pm,
             java.lang.ClassLoader candidateLoader)

FieldFetcher

FieldFetcher(FOStoreInput fin,
             FOStoreModel model,
             org.apache.jdo.pm.PersistenceManagerInternal pm,
             java.lang.ClassLoader candidateLoader,
             boolean skip)
Called by AID when PK fields are written sequentially independent of their actual field numbers.

Method Detail

fetch

void fetch(org.apache.jdo.state.StateManagerInternal sm,
           OID oid)
     throws java.io.IOException
Invoke this if you have a StateManagerInternal for the object that you're fetching. For example, see FetchRequest.handleReply().

Throws:
java.io.IOException

fetch

org.apache.jdo.state.StateManagerInternal fetch(OID oid)
                                          throws java.io.IOException
Invoke this if you have an OID for the object that you're fetching. For example, see GetExtentRequest.handleReply().

Throws:
java.io.IOException

fetch

private void fetch()
            throws java.io.IOException
Fetches data from input, resulting in an PersistenceCapable object with state from the datastore. The format of the data is as per that described in InsertRequest.

Throws:
java.io.IOException

setPCClass

void setPCClass(java.lang.Class pcClass)

fetchBooleanField

public boolean fetchBooleanField(int fieldNum)
Specified by:
fetchBooleanField in interface org.apache.jdo.state.FieldManager
Overrides:
fetchBooleanField in class AbstractFieldManager
See Also:
FieldManager.fetchBooleanField(int fieldNum)

fetchCharField

public char fetchCharField(int fieldNum)
Specified by:
fetchCharField in interface org.apache.jdo.state.FieldManager
Overrides:
fetchCharField in class AbstractFieldManager
See Also:
FieldManager.fetchCharField(int fieldNum)

fetchByteField

public byte fetchByteField(int fieldNum)
Specified by:
fetchByteField in interface org.apache.jdo.state.FieldManager
Overrides:
fetchByteField in class AbstractFieldManager
See Also:
FieldManager.fetchByteField(int fieldNum)

fetchShortField

public short fetchShortField(int fieldNum)
Specified by:
fetchShortField in interface org.apache.jdo.state.FieldManager
Overrides:
fetchShortField in class AbstractFieldManager
See Also:
FieldManager.fetchShortField(int fieldNum)

fetchIntField

public int fetchIntField(int fieldNum)
Specified by:
fetchIntField in interface org.apache.jdo.state.FieldManager
Overrides:
fetchIntField in class AbstractFieldManager
See Also:
FieldManager.fetchIntField(int fieldNum)

fetchLongField

public long fetchLongField(int fieldNum)
Specified by:
fetchLongField in interface org.apache.jdo.state.FieldManager
Overrides:
fetchLongField in class AbstractFieldManager
See Also:
FieldManager.fetchLongField(int fieldNum)

fetchFloatField

public float fetchFloatField(int fieldNum)
Specified by:
fetchFloatField in interface org.apache.jdo.state.FieldManager
Overrides:
fetchFloatField in class AbstractFieldManager
See Also:
FieldManager.fetchFloatField(int fieldNum)

fetchDoubleField

public double fetchDoubleField(int fieldNum)
Specified by:
fetchDoubleField in interface org.apache.jdo.state.FieldManager
Overrides:
fetchDoubleField in class AbstractFieldManager
See Also:
FieldManager.fetchDoubleField(int fieldNum)

fetchStringField

public java.lang.String fetchStringField(int fieldNum)
Specified by:
fetchStringField in interface org.apache.jdo.state.FieldManager
Overrides:
fetchStringField in class AbstractFieldManager
See Also:
FieldManager.fetchStringField(int fieldNum)

fetchObjectField

public java.lang.Object fetchObjectField(int fieldNum)
Specified by:
fetchObjectField in interface org.apache.jdo.state.FieldManager
Overrides:
fetchObjectField in class AbstractFieldManager
See Also:
FieldManager.fetchObjectField(int fieldNum)

skipFields

private void skipFields(int fieldNum)

storeBooleanField

public void storeBooleanField(int fieldNum,
                              boolean value)
Specified by:
storeBooleanField in interface org.apache.jdo.state.FieldManager
See Also:
FieldManager.storeBooleanField(int fieldNum, boolean value)

storeCharField

public void storeCharField(int fieldNum,
                           char value)
Specified by:
storeCharField in interface org.apache.jdo.state.FieldManager
See Also:
FieldManager.storeCharField(int fieldNum, char value)

storeByteField

public void storeByteField(int fieldNum,
                           byte value)
Specified by:
storeByteField in interface org.apache.jdo.state.FieldManager
See Also:
FieldManager.storeByteField(int fieldNum, byte value)

storeShortField

public void storeShortField(int fieldNum,
                            short value)
Specified by:
storeShortField in interface org.apache.jdo.state.FieldManager
See Also:
FieldManager.storeShortField(int fieldNum, short value)

storeIntField

public void storeIntField(int fieldNum,
                          int value)
Specified by:
storeIntField in interface org.apache.jdo.state.FieldManager
See Also:
FieldManager.storeIntField(int fieldNum, int value)

storeLongField

public void storeLongField(int fieldNum,
                           long value)
Specified by:
storeLongField in interface org.apache.jdo.state.FieldManager
See Also:
FieldManager.storeLongField(int fieldNum, long value)

storeFloatField

public void storeFloatField(int fieldNum,
                            float value)
Specified by:
storeFloatField in interface org.apache.jdo.state.FieldManager
See Also:
FieldManager.storeFloatField(int fieldNum, float value)

storeDoubleField

public void storeDoubleField(int fieldNum,
                             double value)
Specified by:
storeDoubleField in interface org.apache.jdo.state.FieldManager
See Also:
FieldManager.storeDoubleField(int fieldNum, double value)

storeStringField

public void storeStringField(int fieldNum,
                             java.lang.String value)
Specified by:
storeStringField in interface org.apache.jdo.state.FieldManager
See Also:
FieldManager.storeStringField(int fieldNum, String value)

storeObjectField

public void storeObjectField(int fieldNum,
                             java.lang.Object value)
Specified by:
storeObjectField in interface org.apache.jdo.state.FieldManager
See Also:
FieldManager.storeObjectField(int fieldNum, Object value)