Interface ComponentComposite
- All Superinterfaces:
Closable, Decomposable, Destroyable, org.refcodes.mixin.Disposable, Flushable, Flushable, Initializable, LifecycleComponent, LinkComponent, Openable, Pausable, org.refcodes.mixin.Resetable, Resumable, Startable, Stoppable
- All Known Subinterfaces:
ComponentComposite.ExtendedComponentComposite<CTX,CON>
- All Known Implementing Classes:
AbstractComponentComposite, AbstractComponentComposite.ExtendedCompositeComponentImpl
ComponentComposite interface so that any therein contained
Component instances' state change methods are supported by the
ComponentComposite as well and forwarded to the Component
contained in the ComponentComposite instance.
For implementing sequential, threaded or threaded joined invocation of the
therein contained Component instances' state change methods (as of
the ExecutionStrategy), you may use the ComponentUtility,
e.g. ComponentUtility.start(ExecutionStrategy, java.util.Collection))
or in more seldom cases the ComponentComposite.
A ComponentComposite manages a set of Component instances by
forwarding the state change requests to the contained elements in case them
elements support the according state change method. In case such a state
change is not supported by an therein contained element, then the element is
just ignored for that state change request.
In case of exceptional state, depending on the used ExecutionStrategy
, either no exception is thrown or the one thrown by the first erroneous
Component.
The ComponentComposite supports these interfaces for the according
state change requests, depending on the therein contained Component's
and them implemented interfaces, the according methods are delegated to all
implementing Components:
Initializable Startable Pausable Resumable
Stoppable Destroyable Decomposable Flushable
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceTheComponentComposite.ExtendedComponentCompositeprovides extended functionality to theComponentComposite's functionality by including extendedOpenablefunctionality (ConnectionOpenable) and extendsInitializablefunctionality (Configurable).Nested classes/interfaces inherited from interface Closable
Closable.CloseAutomaton, Closable.CloseBuilder<B>Nested classes/interfaces inherited from interface Decomposable
Decomposable.DecomposeAutomatonNested classes/interfaces inherited from interface Destroyable
Destroyable.DestroyAutomatonNested classes/interfaces inherited from interface Flushable
Flushable.FlushBuilder<B>Nested classes/interfaces inherited from interface Initializable
Initializable.InitializeAutomaton, Initializable.InitializeBuilder<B>, Initializable.UncheckedInitializableNested classes/interfaces inherited from interface LifecycleComponent
LifecycleComponent.LifecycleAutomaton, LifecycleComponent.UncheckedLifecycleComponentNested classes/interfaces inherited from interface LinkComponent
LinkComponent.LinkAutomaton, LinkComponent.LinkComponentBuilder<B>Nested classes/interfaces inherited from interface Openable
Openable.OpenAutomaton, Openable.OpenBuilder<B>Nested classes/interfaces inherited from interface Pausable
Pausable.PauseAutomaton, Pausable.PauseBuilder<B>, Pausable.UncheckedPausableNested classes/interfaces inherited from interface Resumable
Resumable.ResumeAutomaton, Resumable.ResumeBuilder<B>, Resumable.UncheckedResumableNested classes/interfaces inherited from interface Startable
Startable.StartAutomaton, Startable.StartBuilder<B>, Startable.UncheckedStartableNested classes/interfaces inherited from interface Stoppable
Stoppable.StopAutomaton, Stoppable.StopBuilder<B>, Stoppable.UncheckedStoppable -
Method Summary
Methods inherited from interface Closable
close, closeIn, closeQuietly, closeUncheckedMethods inherited from interface Decomposable
decomposeMethods inherited from interface Destroyable
destroyMethods inherited from interface org.refcodes.mixin.Disposable
disposeMethods inherited from interface Flushable
flush, flushUnchecked, isFlushableMethods inherited from interface Initializable
initialize, initializeUncheckedMethods inherited from interface Openable
open, openUncheckedMethods inherited from interface Pausable
pause, pauseUncheckedMethods inherited from interface org.refcodes.mixin.Resetable
resetMethods inherited from interface Resumable
resume, resumeUncheckedMethods inherited from interface Startable
start, startUncheckedMethods inherited from interface Stoppable
stop, stopUnchecked