org.exolab.castor.persist.spi

Interface CallbackInterceptor

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.1.1.1 $ $Date: 2003/03/03 07:08:50 $
Author:
Assaf Arkin

Method Summary

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

Method Details

created

public void created(Object object)
            throws Exception
Called to indicate that an object has been created.
Parameters:
object - The object

creating

public void creating(Object object,
                     Database db)
            throws 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

loaded

public Class loaded(Object object,
                    short accessMode)
            throws 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.

releasing

public void releasing(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

removed

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

This method is called during db.remove().

Parameters:
object - The object

removing

public void removing(Object object)
            throws 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

storing

public void storing(Object object,
                    boolean modified)
            throws Exception
Called to indicate that an object is to be stored in persistent storage.
Parameters:
object - The object
modified - Is the object modified?

updated

public void updated(Object object)
            throws Exception
Called to indicate that an object has been updated at the end of a "long" transaction.
Parameters:
object - The object

using

public void using(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

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