Class AnnotationBasedEntityEvolvingComponent<E>

java.lang.Object
org.axonframework.modelling.annotation.AnnotationBasedEntityEvolvingComponent<E>
Type Parameters:
E - The entity type to evolve.
All Implemented Interfaces:
EntityEvolver<E>, EntityEvolvingComponent<E>

public class AnnotationBasedEntityEvolvingComponent<E> extends Object implements EntityEvolvingComponent<E>
Implementation of the EntityEvolvingComponent that applies state changes through EventHandler(-meta)-annotated methods using the AnnotatedHandlerInspector.

During construction, this component eagerly resolves the event names of all inspected handlers and builds an immutable routing index. This shifts annotation inspection and message type resolution to initialization, increasing startup work and memory usage in proportion to the number of handlers. In return, event evolution performs direct lookups without reflection, message type resolution, cache mutation, or a scan of all handlers. Resolution failures are also reported during initialization instead of on the first matching event.

Since:
5.0.0
Author:
Mateusz Nowak
See Also:
  • Constructor Details

    • AnnotationBasedEntityEvolvingComponent

      public AnnotationBasedEntityEvolvingComponent(Class<E> entityType, EventConverter converter, MessageTypeResolver messageTypeResolver)
      Initialize a new annotation-based EntityEvolver.
      Parameters:
      entityType - The type of entity this instance will handle state changes for.
      converter - The converter to use for converting event payloads to the handler's expected type.
      messageTypeResolver - The resolver to use for resolving the event message type.
    • AnnotationBasedEntityEvolvingComponent

      public AnnotationBasedEntityEvolvingComponent(Class<E> entityType, AnnotatedHandlerInspector<E> inspector, EventConverter converter, MessageTypeResolver messageTypeResolver)
      Initialize a new annotation-based EntityEvolver.
      Parameters:
      entityType - The type of entity this instance will handle state changes for.
      inspector - The inspector to use to find the annotated handlers on the entity.
      converter - The converter to use for converting event payloads to the handler's expected type.
      messageTypeResolver - The resolver to use for resolving the event message type.
  • Method Details