Class LifecycleEventManager

java.lang.Object
org.apache.openjpa.event.LifecycleEventManager
All Implemented Interfaces:
Serializable, CallbackModes
Direct Known Subclasses:
ValidatingLifecycleEventManager

public class LifecycleEventManager extends Object implements CallbackModes, Serializable
Manager that can be used to track and notify listeners on lifecycle events. This class is optimized for event firing rather than for adding and removing listeners, which are O(n) operations. This class also does not maintain perfect set semantics for listeners; it is possible to wind up having the same listener invoked multiple times for a single event if it is added to this manager multiple times with different classes, or with a base class and its subclass.
Since:
0.3.3
Author:
Steve Kim, Abe White
See Also:
  • Constructor Details

    • LifecycleEventManager

      public LifecycleEventManager()
  • Method Details

    • isActive

      public boolean isActive(ClassMetaData meta)
      Whether this LifeCycleEventManager has had at least one listener or callback registered. Used for a quick test when firing events.
      Returns:
      boolean
    • isFailFast

      public boolean isFailFast()
      Whether to fail after first exception when firing events to listeners.
    • setFailFast

      public void setFailFast(boolean failFast)
      Whether to fail after first exception when firing events to listeners.
    • addListener

      public void addListener(Object listener, Class<?>[] classes)
      Register a lifecycle listener for the given classes. If the classes array is null, register for all classes.
    • removeListener

      public void removeListener(Object listener)
      Remove the given listener.
    • hasPersistListeners

      public boolean hasPersistListeners(Object source, ClassMetaData meta)
      Return whether there are listeners or callbacks for the given source.
    • hasDeleteListeners

      public boolean hasDeleteListeners(Object source, ClassMetaData meta)
      Return whether there are listeners or callbacks for the given source.
    • hasClearListeners

      public boolean hasClearListeners(Object source, ClassMetaData meta)
      Return whether there are listeners or callbacks for the given source.
    • hasLoadListeners

      public boolean hasLoadListeners(Object source, ClassMetaData meta)
      Return whether there are listeners or callbacks for the given source.
    • hasStoreListeners

      public boolean hasStoreListeners(Object source, ClassMetaData meta)
      Return whether there are listeners or callbacks for the given source.
    • hasUpdateListeners

      public boolean hasUpdateListeners(Object source, ClassMetaData meta)
      Return whether there are listeners or callbacks for the given source.
    • hasDirtyListeners

      public boolean hasDirtyListeners(Object source, ClassMetaData meta)
      Return whether there are listeners or callbacks for the given source.
    • hasDetachListeners

      public boolean hasDetachListeners(Object source, ClassMetaData meta)
      Return whether there are listeners or callbacks for the given source.
    • hasAttachListeners

      public boolean hasAttachListeners(Object source, ClassMetaData meta)
      Return whether there are listeners or callbacks for the given source.
    • fireEvent

      public Exception[] fireEvent(Object source, ClassMetaData meta, int type)
      Fire lifecycle event to all registered listeners without an argument.
    • fireEvent

      public Exception[] fireEvent(Object source, Object related, ClassMetaData meta, int type)
      Fire lifecycle event to all registered listeners.