javax.jdo

## Interface InstanceCallbacks

- All Superinterfaces:
    ClearCallback, DeleteCallback, LoadCallback, StoreCallback

      public interface InstanceCallbacks
      extends ClearCallback, DeleteCallback, LoadCallback, StoreCallback

  A `PersistenceCapable` class that provides callback methods for life cycle events implements this interface.

  For JDO 2.0, `InstanceCallbacks` has been refactored to extend four other interfaces, without changing any of the methods or semantics. This allows fine-grained control over callbacks, for example to allow a class to implement the load callback without implementing any of the other callbacks. For backward compatibility with JDO 1.0, the `InstanceCallbacks` interface is preserved.

  Classes which include non-persistent fields whose values depend on the values of persistent fields require callbacks on specific JDO instance life cycle events in order to correctly populate the values in these fields.

  The callbacks might also be used if the persistent instances need to be put into the runtime infrastructure of the application. For example, a persistent instance might notify other instances on changes to state. The persistent instance might be in a list of managed instances. When the persistent instance is made hollow, it can no longer generate change events, and the persistent instance should be removed from the list of managed instances.

  To implement this, the application programmer would implement `jdoPostLoad` to put itself into the list of managed instances, and implement `jdoPreClear` to remove itself from the list. With JDO 1.0, the domain class would be declared to implement `InstanceCallbacks`. With JDO 2.0, the domain class would be declared to implement `javax.jdo.listener.LoadCallback` and `javax.jdo.listener.ClearCallback`.

  Note that JDO does not manage the state of non-persistent fields, and when a JDO instance transitions to hollow, JDO clears the persistent fields. It is the programmer's responsibility to clear non-persistent fields so that garbage collection of referred instances can occur.

  Since:
    1.0
  Version:
    2.0

- - ### Method Summary

    - ### Methods inherited from interface javax.jdo.listener.ClearCallback

      `jdoPreClear`

    - ### Methods inherited from interface javax.jdo.listener.DeleteCallback

      `jdoPreDelete`

    - ### Methods inherited from interface javax.jdo.listener.LoadCallback

      `jdoPostLoad`

    - ### Methods inherited from interface javax.jdo.listener.StoreCallback

      `jdoPreStore`

Copyright © 2005–2022 The Apache Software Foundation. All rights reserved.