Class HandleDocumentFilter
java.lang.Object
io.fluxzero.sdk.tracking.handling.HandleDocumentFilter
A
MessageFilter that routes DeserializingMessage instances to methods annotated with
HandleDocument, based on the message's topic.
This filter checks if the target handler method is annotated with @HandleDocument, and if so,
whether the resolved topic from the annotation matches the topic of the incoming message. If both conditions are met,
the message will be considered eligible for handling by the method.
The resolved topic is derived using ClientUtils.getTopic(HandleDocument, Executable),
which supports dynamic resolution based on annotation configuration and handler context.
Annotation lookups are memoized for performance.
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondefault io.fluxzero.common.handling.MessageFilter<DeserializingMessage> and(@NonNull io.fluxzero.common.handling.MessageFilter<? super DeserializingMessage> arg0) getLeastSpecificAllowedClass(Executable arg0, Class<? extends Annotation> arg1) booleantest(DeserializingMessage message, Executable executable, Class<? extends Annotation> handlerAnnotation)
-
Constructor Details
-
HandleDocumentFilter
public HandleDocumentFilter()
-
-
Method Details
-
test
public boolean test(DeserializingMessage message, Executable executable, Class<? extends Annotation> handlerAnnotation) -
getLeastSpecificAllowedClass
default Optional<Class<?>> getLeastSpecificAllowedClass(Executable arg0, Class<? extends Annotation> arg1) -
and
default io.fluxzero.common.handling.MessageFilter<DeserializingMessage> and(@NonNull @NonNull io.fluxzero.common.handling.MessageFilter<? super DeserializingMessage> arg0)
-