Interface ParameterResolverFactory

All Known Implementing Classes:
AbstractAnnotatedParameterResolverFactory, AggregateTypeParameterResolverFactory, CommandDispatcherParameterResolverFactory, ConfigurationParameterResolverFactory, DefaultParameterResolverFactory, EventAppenderParameterResolverFactory, FixtureResourceParameterResolverFactory, HierarchicalParameterResolverFactory, InjectEntityParameterResolverFactory, InterceptorChainParameterResolverFactory, MessageIdentifierParameterResolverFactory, MultiParameterResolverFactory, ProcessingContextParameterResolverFactory, QueryUpdateEmitterParameterResolverFactory, ReplayContextParameterResolverFactory, ReplayParameterResolverFactory, ResultParameterResolverFactory, SequenceNumberParameterResolverFactory, SimpleResourceParameterResolverFactory, SourceIdParameterResolverFactory, SpringBeanDependencyResolverFactory, SpringBeanParameterResolverFactory, TimestampParameterResolverFactory, TrackingTokenParameterResolverFactory
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface ParameterResolverFactory
Interface for objects capable of creating Parameter Resolver instances for annotated handler methods. These resolvers provide the parameter values to use, given an incoming Message.

One of the implementations is the ClasspathParameterResolverFactory, which allows application developers to provide custom ParameterResolverFactory implementations using the ServiceLoader mechanism. To do so, place a file called org.axonframework.messaging.core.annotation.ParameterResolverFactory in the META-INF/services folder. In this file, place the fully qualified class names of all available implementations.

The factory implementations must be public, non-abstract, have a default public constructor and implement the ParameterResolverFactory interface.

Since:
2.1.0
Author:
Allard Buijze
See Also:
  • Method Details

    • createInstance

      @Nullable ParameterResolver<?> createInstance(@Nonnull Executable executable, @Nonnull Parameter[] parameters, int parameterIndex)
      If available, creates a ParameterResolver instance that can provide a parameter of type parameterType for a given message.

      If the ParameterResolverFactory cannot provide a suitable ParameterResolver, returns null.

      Parameters:
      executable - The executable (constructor or method) to inspect.
      parameters - The parameters on the executable to inspect.
      parameterIndex - The index of the parameter to return a ParameterResolver for.
      Returns:
      A suitable ParameterResolver, or null if none is found.