public class MultiEventHandlerInvoker extends Object implements EventHandlerInvoker
EventHandlerInvoker
with capabilities to invoke several different invokers.Constructor and Description |
---|
MultiEventHandlerInvoker(EventHandlerInvoker... delegates)
Initializes multi invoker with different invokers.
|
MultiEventHandlerInvoker(List<EventHandlerInvoker> delegates)
Initializes multi invoker with different invokers.
|
Modifier and Type | Method and Description |
---|---|
boolean |
canHandle(EventMessage<?> eventMessage,
Segment segment)
Check whether or not this invoker has handlers that can handle the given
eventMessage for a given segment . |
boolean |
canHandleType(Class<?> payloadType)
Check whether or not this invoker has handlers that can handle the given
payloadType . |
List<EventHandlerInvoker> |
delegates() |
void |
handle(EventMessage<?> message,
Segment segment)
Handle the given
message for the given segment . |
void |
performReset()
Performs any activities that are required to reset the state managed by handlers assigned to this invoker.
|
<R> void |
performReset(R resetContext)
Performs any activities that are required to reset the state managed by handlers assigned to this invoker.
|
boolean |
supportsReset()
Indicates whether the handlers managed by this invoker support a reset.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
segmentReleased
public MultiEventHandlerInvoker(EventHandlerInvoker... delegates)
MultiEventHandlerInvoker
will be
flattened.delegates
- which will be used to do the actual event handlingpublic MultiEventHandlerInvoker(@Nonnull List<EventHandlerInvoker> delegates)
MultiEventHandlerInvoker
will be
flattened.delegates
- which will be used to do the actual event handling@Nonnull public List<EventHandlerInvoker> delegates()
public boolean canHandle(@Nonnull EventMessage<?> eventMessage, @Nonnull Segment segment)
EventHandlerInvoker
eventMessage
for a given segment
.canHandle
in interface EventHandlerInvoker
eventMessage
- The message to be processedsegment
- The segment for which the event handler should be invokedtrue
if the invoker has one or more handlers that can handle the given message, false
otherwisepublic boolean canHandleType(@Nonnull Class<?> payloadType)
EventHandlerInvoker
payloadType
.canHandleType
in interface EventHandlerInvoker
payloadType
- The payloadType of the message to be processedtrue
if the invoker has one or more handlers that can handle the given message, false
otherwisepublic void handle(@Nonnull EventMessage<?> message, @Nonnull Segment segment) throws Exception
EventHandlerInvoker
message
for the given segment
.
Callers are recommended to invoke EventHandlerInvoker.canHandle(EventMessage, Segment)
prior to invocation, but aren't
required to do so. Implementations must ensure to take the given segment into account when processing messages.
handle
in interface EventHandlerInvoker
message
- The message to handlesegment
- The segment for which to handle the messageException
- when an exception occurs while handling the messagepublic boolean supportsReset()
EventHandlerInvoker
supportsReset
in interface EventHandlerInvoker
true
if a reset is supported, otherwise false
public void performReset()
EventHandlerInvoker
performReset
in interface EventHandlerInvoker
public <R> void performReset(R resetContext)
EventHandlerInvoker
performReset
in interface EventHandlerInvoker
R
- the type of the provided resetContext
resetContext
- a R
used to support the reset operationCopyright © 2010–2024. All rights reserved.