This package contains the JDO specification listener interfaces and classes.

There are two kinds of interfaces defined to allow an application to manage life cycle changes to persistent objects.

The first kind is defined on the persistent domain class itself. This allows methods in the domain class to be called during life cycle events. The domain class implements one or more of the interfaces {@link javax.jdo.listener.AttachCallback}, {@link javax.jdo.listener.ClearCallback}, {@link javax.jdo.listener.DeleteCallback}, {@link javax.jdo.listener.DetachCallback}, {@link javax.jdo.listener.LoadCallback}, or {@link javax.jdo.listener.StoreCallback}. The methods in the interfaces are called during life cycle events.

The second kind is defined on an external class using the listener pattern. Instances of classes that implement one or more of the listener interfaces {@link javax.jdo.listener.AttachLifecycleListener}, {@link javax.jdo.listener.ClearLifecycleListener}, {@link javax.jdo.listener.CreateLifecycleListener}, {@link javax.jdo.listener.DeleteLifecycleListener}, {@link javax.jdo.listener.DetachLifecycleListener}, {@link javax.jdo.listener.DirtyLifecycleListener}, {@link javax.jdo.listener.LoadLifecycleListener}, or {@link javax.jdo.listener.StoreLifecycleListener} are registered with the PersistenceManager or PersistenceManagerFactory and receive callbacks during life cycle events of the persistent instances of interest.