Class VersionGeneratingEntityEventListener

java.lang.Object
io.micronaut.data.runtime.event.listeners.VersionGeneratingEntityEventListener
All Implemented Interfaces:
io.micronaut.core.order.Ordered, io.micronaut.data.event.EntityEventListener<Object>, io.micronaut.data.model.runtime.PropertyAutoPopulator<io.micronaut.data.annotation.Version>, EventListener

@Singleton public class VersionGeneratingEntityEventListener extends Object implements io.micronaut.data.event.EntityEventListener<Object>, io.micronaut.data.model.runtime.PropertyAutoPopulator<io.micronaut.data.annotation.Version>
Supports optimistic locking by using a version.
Since:
2.4.0
  • Field Summary

    Fields inherited from interface io.micronaut.data.event.EntityEventListener

    NOOP

    Fields inherited from interface io.micronaut.core.order.Ordered

    HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    @NonNull Object
    populate(io.micronaut.data.model.runtime.RuntimePersistentProperty<?> property, @Nullable Object previousValue)
     
    boolean
    prePersist(@NonNull io.micronaut.data.event.EntityEventContext<Object> context)
     
    boolean
    preRemove(@NonNull io.micronaut.data.event.EntityEventContext<Object> context)
     
    boolean
    preUpdate(@NonNull io.micronaut.data.event.EntityEventContext<Object> context)
     
    boolean
    supports(io.micronaut.data.model.runtime.RuntimePersistentEntity<Object> entity, Class<? extends Annotation> eventType)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.micronaut.data.event.EntityEventListener

    postLoad, postPersist, postRemove, postUpdate, preQuery

    Methods inherited from interface io.micronaut.core.order.Ordered

    getOrder
  • Constructor Details

  • Method Details

    • supports

      public boolean supports(io.micronaut.data.model.runtime.RuntimePersistentEntity<Object> entity, Class<? extends Annotation> eventType)
      Specified by:
      supports in interface io.micronaut.data.event.EntityEventListener<Object>
    • prePersist

      public boolean prePersist(@NonNull @NonNull io.micronaut.data.event.EntityEventContext<Object> context)
      Specified by:
      prePersist in interface io.micronaut.data.event.EntityEventListener<Object>
    • preUpdate

      public boolean preUpdate(@NonNull @NonNull io.micronaut.data.event.EntityEventContext<Object> context)
      Specified by:
      preUpdate in interface io.micronaut.data.event.EntityEventListener<Object>
    • preRemove

      public boolean preRemove(@NonNull @NonNull io.micronaut.data.event.EntityEventContext<Object> context)
      Specified by:
      preRemove in interface io.micronaut.data.event.EntityEventListener<Object>
    • populate

      @NonNull public @NonNull Object populate(io.micronaut.data.model.runtime.RuntimePersistentProperty<?> property, @Nullable @Nullable Object previousValue)
      Specified by:
      populate in interface io.micronaut.data.model.runtime.PropertyAutoPopulator<io.micronaut.data.annotation.Version>