Interface EntityEventListener<T>

Type Parameters:
T - the entity type
All Superinterfaces:
EventListener, io.micronaut.core.order.Ordered
All Known Subinterfaces:
PostPersistEventListener<T>, PostRemoveEventListener<T>, PostUpdateEventListener<T>, PrePersistEventListener<T>, PreRemoveEventListener<T>, PreUpdateEventListener<T>
All Known Implementing Classes:
AnnotatedMethodInvokingEntityEventListener, AutoPopulatedEntityEventListener, AutoTimestampEntityEventListener, EntityEventRegistry, UUIDGeneratingEntityEventListener, VersionGeneratingEntityEventListener

@Indexed(EntityEventListener.class) public interface EntityEventListener<T> extends EventListener, io.micronaut.core.order.Ordered
The interface representing an entity event listener.

Event listeners are able to listen for persistence events through the various method hooks provided. The supports(RuntimePersistentEntity, Class) method can be used to narrow applicable entities and should be called by implementors prior to invoking one of the event methods.

Note that EntityEventListener added by the user SHOULD NOT be annotated with Primary.

Since:
2.3.0
Author:
graemerocher, Denis Stepanov
  • Field Details

  • Method Details

    • supports

      default boolean supports(RuntimePersistentEntity<T> entity, Class<? extends Annotation> eventType)
      Allows including or excluding a listener for a specific entity.
      Parameters:
      entity - The entity
      eventType - The event type
      Returns:
      True if it is supported
    • prePersist

      default boolean prePersist(@NonNull @NonNull EntityEventContext<T> context)
      A pre-persist hook. Implementors can return false to evict the operation.
      Parameters:
      context - The context object
      Returns:
      A boolean value indicating whether to proceed with the operation.
    • postPersist

      default void postPersist(@NonNull @NonNull EntityEventContext<T> context)
      A post-persist hook. Executed once the object has been persisted.
      Parameters:
      context - The context object
    • postLoad

      default void postLoad(@NonNull @NonNull EntityEventContext<T> context)
      A post-load hook. Executed once the object has been persisted.
      Parameters:
      context - The context object
    • preRemove

      default boolean preRemove(@NonNull @NonNull EntityEventContext<T> context)
      A pre-remove hook. Implementors can return false to evict the operation.
      Parameters:
      context - The context object
      Returns:
      A boolean value indicating whether to proceed with the operation.
    • postRemove

      default void postRemove(@NonNull @NonNull EntityEventContext<T> context)
      A post-remove hook. Executed once the object has been removed.
      Parameters:
      context - The context object
    • preUpdate

      default boolean preUpdate(@NonNull @NonNull EntityEventContext<T> context)
      A pre-update hook. Implementors can return false to evict the operation.
      Parameters:
      context - The context object
      Returns:
      A boolean value indicating whether to proceed with the operation.
    • preQuery

      default boolean preQuery(@NonNull @NonNull QueryEventContext<T> context)
      A pre-update hook. Implementors can return false to evict the operation.
      Parameters:
      context - The context object
      Returns:
      A boolean value indicating whether to proceed with the operation.
    • postUpdate

      default void postUpdate(@NonNull @NonNull EntityEventContext<T> context)
      A post-update hook. Executed once the object has been updated.
      Parameters:
      context - The context object