Class InputParameterResolver
java.lang.Object
io.fluxzero.sdk.tracking.handling.InputParameterResolver
- All Implemented Interfaces:
ParameterResolver<Object>
Resolves handler method parameters by simply injecting the input if the parameter type is assignable from the input
type.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanmatches(Parameter parameter, Annotation methodAnnotation, Object value) Indicates whether the resolved value is compatible with the declared parameter type.resolve(Parameter parameter, Annotation methodAnnotation) Resolves aParameterof a handler method into a value function based on the given message.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ParameterResolver
determinesSpecificity, mayApply, test
-
Constructor Details
-
InputParameterResolver
public InputParameterResolver()
-
-
Method Details
-
resolve
Description copied from interface:ParameterResolverResolves aParameterof a handler method into a value function based on the given message.If the parameter cannot be resolved by this resolver and
ParameterResolver.matches(Parameter, Annotation, M)is not implemented, this method must returnnull.- Specified by:
resolvein interfaceParameterResolver<Object>- Parameters:
parameter- the parameter to resolvemethodAnnotation- the annotation present on the handler method (e.g.,@HandleEvent)- Returns:
- a function that takes a message and returns a value to be injected into the method parameter, or
nullif the parameter cannot be resolved andParameterResolver.matches(Parameter, Annotation, M)is not implemented.
-
matches
Description copied from interface:ParameterResolverIndicates whether the resolved value is compatible with the declared parameter type.This method helps determine whether the parameter can be injected for a given message. It first invokes
ParameterResolver.resolve(Parameter, Annotation)and then verifies that the returned value (if any) is assignable to the parameter type.- Specified by:
matchesin interfaceParameterResolver<Object>- Parameters:
parameter- the parameter being checkedmethodAnnotation- the annotation on the handler methodvalue- the message instance to use for resolution- Returns:
trueif the parameter can be resolved and assigned to,falseotherwise
-