Class LifecycleWatchdog

  • All Implemented Interfaces:
    IInstantiable, IStartStop

    public abstract class LifecycleWatchdog
    extends java.lang.Object
    implements IStartStop
    A tool for intercepting and handling lifecycle related events.
    • Field Detail

      • listenObjectLifecycle

        protected final INotificationListener listenObjectLifecycle
        A listener for object lifecycle events
      • listenFactoryLifecycle

        protected final INotificationListener listenFactoryLifecycle
        A listener for factory lifecycle events
    • Method Detail

      • getLabel

        public java.lang.String getLabel()
      • isStarted

        public boolean isStarted()
        Description copied from interface: IStartStop
        Answer true if this object is started
        Specified by:
        isStarted in interface IStartStop
        Returns:
        Answer true if this object is started.
      • myFactoryStarted

        protected final void myFactoryStarted​(Event event)
      • myFactoryStopped

        protected final void myFactoryStopped​(Event event)
      • myObjectActivated

        protected final void myObjectActivated​(java.lang.Object object)
        A previously armed IObject is activated.
        Parameters:
        event - The activation event instance
      • myObjectCreated

        protected final void myObjectCreated​(java.lang.Object object)
        A new IObject is created and armed for further notification.
        Parameters:
        event - The activation event instance
      • myObjectDeactivated

        protected final void myObjectDeactivated​(java.lang.Object object)
        A previously armed IObject is deactivated.
        Parameters:
        event - The activation event instance
      • myObjectDestroyed

        protected final void myObjectDestroyed​(java.lang.Object object)
        A previously armed IObject is destroyed.
        Parameters:
        event - The activation event instance
      • myObjectStarted

        protected final void myObjectStarted​(java.lang.Object object)
        A previously armed IObject is started.
        Parameters:
        event - The activation event instance
      • myObjectStopped

        protected final void myObjectStopped​(java.lang.Object object)
        A previously armed IObject is stopped. All notification listeners are removed.
        Parameters:
        event - The activation event instance
      • myObjectStopRequested

        protected final boolean myObjectStopRequested​(java.lang.Object object)
        A previously armed IObject is requested to stop.
        Parameters:
        event - The event instance
      • objectActivated

        protected void objectActivated​(java.lang.Object object)
        Redefine to get informed when an IObject is activated.
        Parameters:
        object - The object that was activated.
      • objectCreated

        protected void objectCreated​(java.lang.Object object)
        Redefine to get informed when an IObject is created.
        Parameters:
        object - The object that was created,
      • objectDeactivated

        protected void objectDeactivated​(java.lang.Object object)
        Redefine to get informed when an IObject is deactivated.
        Parameters:
        object - the object that was deactivated.
      • objectDestroyed

        protected void objectDestroyed​(java.lang.Object object)
        Redefine to get informed when an IObject is destroyed.
        Parameters:
        object - The object that was destroyed.
      • objectStarted

        protected void objectStarted​(java.lang.Object object)
        Redefine to get informed when an IObject is started.
        Parameters:
        object - The object that was started.
      • objectStopped

        protected void objectStopped​(java.lang.Object object)
        Redefine to get informed when an IObject is requested to stop.
        Parameters:
        object - The object that was stopped.
      • objectStopRequested

        protected boolean objectStopRequested​(java.lang.Object object)
        Redefine to get informed when an IObject is stopped.
        Parameters:
        object - The object that should be stopped.
      • onFactoryLifecycleEvent

        protected void onFactoryLifecycleEvent​(Event event)
        A previously armed object is activated.
        Parameters:
        event - The activation event instance
      • onObjectLifecycleEvent

        protected void onObjectLifecycleEvent​(Event event)
        A previously armed object is activated.
        Parameters:
        event - The activation event instance
      • setLabel

        public void setLabel​(java.lang.String label)
      • start

        public void start()
        Arm the watchdog itself. From now it will listen to the creation of new instances.
        Specified by:
        start in interface IStartStop
        See Also:
        IStartStop.start()
      • startAuto

        public void startAuto()
        Arm the watchdog itself. From now it will listen to the creation of new instances.
        See Also:
        IStartStop.start()
      • stop

        public void stop()
        Disarm the watchdog itself. From now it will not longer listen to the creation of new instances.
        Specified by:
        stop in interface IStartStop
        See Also:
        IStartStop.stop()
      • stopRequested

        public boolean stopRequested​(java.util.Set visited)
        Description copied from interface: IStartStop
        Ask the component if it agrees to end its lifecycle at the very moment. The component may deny this request, but it must be prepared anyway to be stopped.
        Specified by:
        stopRequested in interface IStartStop
        Parameters:
        visited - The optional set of already visited objects in the stop request cycle.
      • supports

        protected boolean supports​(java.lang.Object object)
        Answer true if we are interested in the object instance. If we are interested the watchdog will register itself for the lifecycle events.
        Parameters:
        object - The newly created object.
        Returns:
        Answer true if we are interested in the object instance.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object