org.exolab.castor.persist.spi
Interface CallbackInterceptor

All Known Implementing Classes:
JDOCallback

public interface CallbackInterceptor

A callback interceptor informs objects about changes to their state. Different callbacks can cause different methods to be called on the objects.

Version:
$Revision: 1.2 $ $Date: 2005/04/17 10:29:29 $
Author:
Assaf Arkin

Method Summary
 void created(java.lang.Object object)
          Called to indicate that an object has been created.
 void creating(java.lang.Object object, Database db)
          Called to indicate that an object is to be created in persistent storage.
 java.lang.Class loaded(java.lang.Object object, AccessMode accessMode)
          Called to indicate that the object has been loaded from persistent storage.
 void releasing(java.lang.Object object, boolean committed)
          Called to indicate that an object has been made transient.
 void removed(java.lang.Object object)
          Called to indicate that an object has been deleted.
 void removing(java.lang.Object object)
          Called to indicate that an object is to be deleted.
 void storing(java.lang.Object object, boolean modified)
          Called to indicate that an object is to be stored in persistent storage.
 void updated(java.lang.Object object)
          Called to indicate that an object has been updated at the end of a "long" transaction.
 void using(java.lang.Object object, Database db)
          Called to indicate that an object has been made persistent.
 

Method Detail

loaded

java.lang.Class loaded(java.lang.Object object,
                       AccessMode accessMode)
                       throws java.lang.Exception
Called to indicate that the object has been loaded from persistent storage.

Parameters:
object - The object
Returns:
null or the extending Class. In the latter case Castor will reload the object of the given class with the same identity.
Throws:
java.lang.Exception - An exception occured, the object cannot be loaded

storing

void storing(java.lang.Object object,
             boolean modified)
             throws java.lang.Exception
Called to indicate that an object is to be stored in persistent storage.

Parameters:
object - The object
modified - Is the object modified?
Throws:
java.lang.Exception - An exception occured, the object cannot be stored

creating

void creating(java.lang.Object object,
              Database db)
              throws java.lang.Exception
Called to indicate that an object is to be created in persistent storage.

Parameters:
object - The object
db - The database in which this object will be created
Throws:
java.lang.Exception

created

void created(java.lang.Object object)
             throws java.lang.Exception
Called to indicate that an object has been created.

Parameters:
object - The object
Throws:
java.lang.Exception

removing

void removing(java.lang.Object object)
              throws java.lang.Exception
Called to indicate that an object is to be deleted.

This method is made at commit time on objects deleted during the transaction before setting their fields to null.

Parameters:
object - The object
Throws:
java.lang.Exception

removed

void removed(java.lang.Object object)
             throws java.lang.Exception
Called to indicate that an object has been deleted.

This method is called during db.remove().

Parameters:
object - The object
Throws:
java.lang.Exception

releasing

void releasing(java.lang.Object object,
               boolean committed)
Called to indicate that an object has been made transient.

This method is made at commit or rollback time on all objects that were presistent during the life time of the transaction.

Parameters:
object - The object
committed - True if the object has been commited, false if rollback or otherwise cancelled

using

void using(java.lang.Object object,
           Database db)
Called to indicate that an object has been made persistent.

Parameters:
object - The object
db - The database to which this object belongs

updated

void updated(java.lang.Object object)
             throws java.lang.Exception
Called to indicate that an object has been updated at the end of a "long" transaction.

Parameters:
object - The object
Throws:
java.lang.Exception


Intalio Inc. (C) 1999-2004. All rights reserved http://www.intalio.com