org.refcodes.component.ConfigurableLifeCycleComponentHandle Maven / Gradle / Ivy
package org.refcodes.component;
import org.refcodes.component.LifeCycleComponentHandle.LifeCycleAutomatonHandle;
/**
* The {@link ConfigurableLifeCycleComponentHandle} manages various
* {@link LifeCycleStatus} states for {@link ConfigurableLifeCycleComponent}
* instances each related to a handle. Operations manipulating on the
* {@link LifeCycleStatus} are invoked by this
* {@link ConfigurableLifeCycleComponentHandle} with a handle identifying the
* according referenced {@link ConfigurableLifeCycleComponent}.
*
* The {@link ConfigurableLifeCycleComponent} contains the business-logic where
* as the {@link ConfigurableLifeCycleComponentHandle} provides the frame for
* managing this business-logic. The {@link LifeCycleAutomatonHandle} takes care
* of the correct life-cycle applied on a {@link ConfigurableLifeCycleComponent}
* .
*
* @param The type of the handles.
*
* @param The context used to initialize the referenced instance.
*/
public interface ConfigurableLifeCycleComponentHandle extends ConfigurableHandle, StartableHandle, PausableHandle, ResumableHandle, StoppableHandle, DestroyableHandle {
/**
* The {@link ConfigurableLifeCycleAutomatonHandle} is an automaton managing
* various {@link LifeCycleStatus} states for {@link Component} instances
* each related to a handle. Operations manipulating on the
* {@link LifeCycleStatus} are invoked by this
* {@link ConfigurableLifeCycleAutomatonHandle} with a handle identifying
* the according referenced {@link Component}.
*
* The {@link LifeCycleComponent} contains the business-logic where as the
* {@link ConfigurableLifeCycleAutomatonHandle} provides the frame for
* managing this business-logic. The
* {@link ConfigurableLifeCycleAutomatonHandle} takes care of the correct
* life-cycle applied on a {@link LifeCycleComponent}.
*
* @param The type of the handle.
*
* @param the context used to initialize the referenced instance.
*/
public interface ConfigurableLifeCycleAutomatonHandle extends ConfigurableLifeCycleComponentHandle, ConfigureAutomatonHandle, StartAutomatonHandle, PauseAutomatonHandle, ResumeAutomatonHandle, StopAutomatonHandle, DestroyAutomatonHandle, LifeCycleComponentHandle, LifeCycleStatusHandle {}
}