[JIRA] Created: (CAY-753) Lifecycle Callback API Refactoring

From: Andrus Adamchik (JIRA) ("Andrus)
Date: Wed Feb 14 2007 - 10:32:50 EST

  • Next message: Malcolm Edgar: "Cayenne Publicity"

    Lifecycle Callback API Refactoring
    ----------------------------------

                     Key: CAY-753
                     URL: https://issues.apache.org/cayenne/browse/CAY-753
                 Project: Cayenne
              Issue Type: Task
              Components: Cayenne Core Library
        Affects Versions: 3.0
                Reporter: Andrus Adamchik
             Assigned To: Andrus Adamchik
                 Fix For: 3.0

    This issue is about refactoring of the lifecycle callback classes. The goal is API consistency and ease of use. Technically callback API hasn't been officially released as of the date the issue is created, so API changing is not a big deal, however since the API was advertised on the user list for more than a few months already, documenting all the changes is a courtesy to the early adopters.

    * Moving callback type constants (PRE_PERSIST, POST_PERSIST, ...) from LifecycleEventCallback to org.apache.cayenne.map.CallbackMethod, as this information is used in the raw mapping as well as in compiled descriptors.

    * Introducing org.apache.cayenne.LifecycleListener as an optional callback interface to simplify manual callback registration.

    * Moving all runtime callback handling classes to "reflect" package from "map".

    * Making LifecycleEventCallback a non-public class instead of a public interface - it is used internally, and shouldn't be invoked by the users.

    * Introducing org.apache.cayenne.reflect.LifecycleCallbackRegistry class . It keeps a collection of handlers for all event types. This is the public class that deals with callbacks in runtime.

    * Renaming LifecycleEventCallbackMap to LifecycleCallbackEventHandler and making most methods non-public (accessed via LifecycleCallbackRegistry).

    Will need to document the new API in the User Guide:
    http://cayenne.apache.org/doc/lifecycle-callbacks.html

    -- 
    This message is automatically generated by JIRA.
    -
    You can reply to this email to add a comment to the issue online.
    



    This archive was generated by hypermail 2.0.0 : Wed Feb 14 2007 - 10:33:26 EST