Interface CallbackInterceptor

  • All Known Implementing Classes:
    JDOCallback, JPACallbackHandler

    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: 8623 $ $Date: 2005-04-17 04:29:33 -0600 (Sun, 17 Apr 2005) $
    Author:
    Assaf Arkin
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      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 modifying​(java.lang.Object object)
      Called to indicate that an object has been modified and is up to storing.
      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
      • modifying

        void modifying​(java.lang.Object object)
                throws java.lang.Exception
        Called to indicate that an object has been modified and is up to storing.
        Parameters:
        object - The object
        Throws:
        java.lang.Exception - An exception occured, the object cannot be stored
      • 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