Class HandlerRegistry.MergedHandlerRegistry
java.lang.Object
io.fluxcapacitor.javaclient.tracking.handling.HandlerRegistry.MergedHandlerRegistry
- All Implemented Interfaces:
HandlerRegistry
,HasLocalHandlers
- Enclosing interface:
HandlerRegistry
Combines two
HandlerRegistry
instances into one.
Useful for layering or composing registries programmatically.
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.fluxcapacitor.javaclient.tracking.handling.HandlerRegistry
HandlerRegistry.MergedHandlerRegistry, HandlerRegistry.NoOpHandlerRegistry
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionhandle
(DeserializingMessage message) Attempts to handle the given message using local handlers.boolean
Indicates whether any local handlers are currently registered for this gateway.registerHandler
(Object target) Registers the given handler object and includes only the methods that are annotated with a recognized handler annotation (e.g.,@HandleCommand
,@HandleQuery
, etc.).registerHandler
(Object target, HandlerFilter handlerFilter) Registers a handler object, including only those methods that match the providedHandlerFilter
.void
setSelfHandlerFilter
(HandlerFilter selfHandlerFilter) Sets a custom filter to control whether a handler method is considered a local handler for the current application.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.fluxcapacitor.javaclient.tracking.handling.HandlerRegistry
andThen, orThen
-
Field Details
-
first
-
second
-
-
Constructor Details
-
MergedHandlerRegistry
public MergedHandlerRegistry()
-
-
Method Details
-
handle
Description copied from interface:HandlerRegistry
Attempts to handle the given message using local handlers.- Specified by:
handle
in interfaceHandlerRegistry
- Parameters:
message
- the deserialized message to dispatch- Returns:
- an optional future containing the result, or empty if no handler was found
-
registerHandler
Description copied from interface:HasLocalHandlers
Registers the given handler object and includes only the methods that are annotated with a recognized handler annotation (e.g.,@HandleCommand
,@HandleQuery
, etc.).This method uses
LocalHandler
to determine which methods to include. If a payload has an annotated handler likeHandleQuery
inside its class and the class is not annotated withTrackSelf
, the handler is also considered to be local.- Specified by:
registerHandler
in interfaceHasLocalHandlers
- Parameters:
target
- the object containing handler methods- Returns:
- a
Registration
which can be used to unregister the handlers
-
hasLocalHandlers
public boolean hasLocalHandlers()Description copied from interface:HasLocalHandlers
Indicates whether any local handlers are currently registered for this gateway.- Specified by:
hasLocalHandlers
in interfaceHasLocalHandlers
- Returns:
true
if local handlers are present,false
otherwise
-
setSelfHandlerFilter
Description copied from interface:HasLocalHandlers
Sets a custom filter to control whether a handler method is considered a local handler for the current application. This is typically used internally to ensure that handlers are associated with the correct application or component.- Specified by:
setSelfHandlerFilter
in interfaceHasLocalHandlers
- Parameters:
selfHandlerFilter
- aHandlerFilter
to apply to registered handlers
-
registerHandler
Description copied from interface:HasLocalHandlers
Registers a handler object, including only those methods that match the providedHandlerFilter
.This method offers fine-grained control over which handler methods are registered, based on custom logic applied to method annotations and/or signatures.
- Specified by:
registerHandler
in interfaceHasLocalHandlers
- Parameters:
target
- the handler object containing annotated methodshandlerFilter
- the filter used to determine which methods should be registered- Returns:
- a
Registration
which can be used to unregister the handlers
-