org.apache.jdo.impl.fostore
Class InsertHandler.InsertFinisher

java.lang.Object
  extended byorg.apache.jdo.impl.fostore.InsertHandler.InsertFinisher
All Implemented Interfaces:
RequestFinisher
Enclosing class:
InsertHandler

private class InsertHandler.InsertFinisher
extends java.lang.Object
implements RequestFinisher

Changes all provisional OID's in an instance's in-store Block to real, datastore OID's.


Field Summary
private  int[] clidOffsets
           
private  FOStoreDatabase db
           
private  OID oid
           
private  int[] oidOffsets
           
 
Constructor Summary
(package private) InsertHandler.InsertFinisher(FOStoreDatabase db, OID oid, java.io.DataInput in)
           
 
Method Summary
 void finish()
          Does some post-request processing work on behalf of the request which created it.
private  void finishCLIDOffsets(byte[] data)
          Replace all provisional CLIDs in the data with real CLIDs.
private  void finishOIDOffsets(byte[] data)
          Replace all provisional OIDs in the data with real OIDs.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

db

private final FOStoreDatabase db

oid

private final OID oid

oidOffsets

private final int[] oidOffsets

clidOffsets

private final int[] clidOffsets
Constructor Detail

InsertHandler.InsertFinisher

InsertHandler.InsertFinisher(FOStoreDatabase db,
                             OID oid,
                             java.io.DataInput in)
                       throws java.io.IOException
Method Detail

finishOIDOffsets

private void finishOIDOffsets(byte[] data)
                       throws FOStoreDatabaseException,
                              java.io.IOException
Replace all provisional OIDs in the data with real OIDs. Byte array data is the datablock containing provisional OID's which need to be converted in-place.

Throws:
FOStoreDatabaseException
java.io.IOException

finishCLIDOffsets

private void finishCLIDOffsets(byte[] data)
                        throws FOStoreDatabaseException,
                               java.io.IOException
Replace all provisional CLIDs in the data with real CLIDs. Byte array data is the datablock containing provisional CLID's which need to be converted in-place.

Throws:
FOStoreDatabaseException
java.io.IOException

finish

public void finish()
Description copied from interface: RequestFinisher
Does some post-request processing work on behalf of the request which created it.

Specified by:
finish in interface RequestFinisher
See Also:
RequestFinisher.finish()