Closable
, Decomposeable
, Destroyable
, org.refcodes.mixin.Disposable
, Flushable
, Flushable
, Initializable
, LifeCycleComponent
, LinkComponent
, Openable
, Pausable
, Resetable
, Resumable
, Startable
, Stoppable
CompositeComponent.ExtendedCompositeComponent<CTX,CON>
CompositeComponentImpl
, CompositeComponentImpl.ExtendedCompositeComponentImpl
public interface CompositeComponent extends LifeCycleComponent, LinkComponent, Flushable, Decomposeable, Resetable, org.refcodes.mixin.Disposable
CompositeComponent
interface so that any therein contained
Component
instances' state change methods are supported by the
CompositeComponent
as well and forwarded to the Component
contained in the CompositeComponent
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 CompositeComponent
.
A CompositeComponent
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 CompositeComponent
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 Component
s:
Initializable
Startable
Pausable
Resumable
Stoppable
Destroyable
Decomposeable
Flushable
Modifier and Type | Interface | Description |
---|---|---|
static interface |
CompositeComponent.ExtendedCompositeComponent<CTX,CON> |
The
CompositeComponent.ExtendedCompositeComponent provides extended functionality to
the CompositeComponent 's functionality by including extended
Openable functionality (ConnectionOpenable ) and extends
Initializable functionality (Configurable ). |
Closable.CloseAutomaton, Closable.CloseBuilder<B extends Closable.CloseBuilder<B>>
Decomposeable.DecomposeAutomaton
Destroyable.DestroyAutomaton
org.refcodes.mixin.Disposable.Disposedable
Flushable.FlushBuilder<B extends Flushable.FlushBuilder<B>>
Initializable.InitializeAutomaton, Initializable.InitializeBuilder<B extends Initializable.InitializeBuilder<B>>, Initializable.UncheckedInitializable
LifeCycleComponent.LifeCycleAutomaton, LifeCycleComponent.UncheckedLifeCycleComponent
LinkComponent.LinkAutomaton, LinkComponent.LinkComponentBuilder<B extends LinkComponent.LinkComponentBuilder<B>>
Openable.OpenAutomaton, Openable.OpenBuilder<B extends Openable.OpenBuilder<B>>
Pausable.PauseAutomaton, Pausable.PauseBuilder<B extends Pausable.PauseBuilder<B>>, Pausable.UncheckedPausable
Resumable.ResumeAutomaton, Resumable.ResumeBuilder<B extends Resumable.ResumeBuilder<B>>, Resumable.UncheckedResumable
Startable.StartAutomaton, Startable.StartBuilder<B extends Startable.StartBuilder<B>>, Startable.UncheckedStartable
Stoppable.StopAutomaton, Stoppable.StopBuilder<B extends Stoppable.StopBuilder<B>>, Stoppable.UncheckedStoppable
close, closeIn, closeQuietly, closeUnchecked
decompose
destroy
flush, flushUnchecked, isFlushable
initialize, initializeUnchecked
open, openUnchecked
pause, pauseUnchecked
resume, resumeUnchecked
start, startUnchecked
stop, stopUnchecked
Copyright © 2018. All rights reserved.