Class 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:
    Serialized Form
    • Constructor Detail

      • LifecycleEventManager

        public LifecycleEventManager()
    • Method Detail

      • 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.