Class CompositeLifecycleStrategy

  • All Implemented Interfaces:
    LifecycleStrategy

    public class CompositeLifecycleStrategy
    extends java.lang.Object
    implements LifecycleStrategy
    Allow for use of alternate LifecycleStrategy strategies to be used at the same time. A component can be started/stopped/disposed according to *any* of the supplied LifecycleStrategy instances.
    Author:
    Paul Hammant
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void dispose​(java.lang.Object component)
      Invoke the "dispose" method on the component instance if this is disposable.
      boolean hasLifecycle​(java.lang.Class<?> type)
      Test if a component instance has a lifecycle.
      boolean isLazy​(ComponentAdapter<?> adapter)
      Is a component eager (not lazy) in that it should start when start() or equivalent is called, or lazy (it will only start on first getComponent() ).
      void start​(java.lang.Object component)
      Invoke the "start" method on the component instance if this is startable.
      void stop​(java.lang.Object component)
      Invoke the "stop" method on the component instance if this is stoppable.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • CompositeLifecycleStrategy

        public CompositeLifecycleStrategy​(LifecycleStrategy... alternateStrategies)
    • Method Detail

      • start

        public void start​(java.lang.Object component)
        Description copied from interface: LifecycleStrategy
        Invoke the "start" method on the component instance if this is startable. It is up to the implementation of the strategy what "start" and "startable" means.
        Specified by:
        start in interface LifecycleStrategy
        Parameters:
        component - the instance of the component to start
      • stop

        public void stop​(java.lang.Object component)
        Description copied from interface: LifecycleStrategy
        Invoke the "stop" method on the component instance if this is stoppable. It is up to the implementation of the strategy what "stop" and "stoppable" means.
        Specified by:
        stop in interface LifecycleStrategy
        Parameters:
        component - the instance of the component to stop
      • dispose

        public void dispose​(java.lang.Object component)
        Description copied from interface: LifecycleStrategy
        Invoke the "dispose" method on the component instance if this is disposable. It is up to the implementation of the strategy what "dispose" and "disposable" means.
        Specified by:
        dispose in interface LifecycleStrategy
        Parameters:
        component - the instance of the component to dispose
      • hasLifecycle

        public boolean hasLifecycle​(java.lang.Class<?> type)
        Description copied from interface: LifecycleStrategy
        Test if a component instance has a lifecycle.
        Specified by:
        hasLifecycle in interface LifecycleStrategy
        Parameters:
        type - the component's type
        Returns:
        true if the component has a lifecycle
      • isLazy

        public boolean isLazy​(ComponentAdapter<?> adapter)
        Description copied from interface: LifecycleStrategy
        Is a component eager (not lazy) in that it should start when start() or equivalent is called, or lazy (it will only start on first getComponent() ). The default is the first of those two.
        Specified by:
        isLazy in interface LifecycleStrategy
        Returns:
        true if lazy, false if not lazy