Class AutoTimestampEntityEventListener
java.lang.Object
io.micronaut.data.runtime.event.listeners.AutoPopulatedEntityEventListener
io.micronaut.data.runtime.event.listeners.AutoTimestampEntityEventListener
- All Implemented Interfaces:
io.micronaut.core.order.Ordered
,EntityEventListener<Object>
,PropertyAutoPopulator<DateUpdated>
,EventListener
@Singleton
public class AutoTimestampEntityEventListener
extends AutoPopulatedEntityEventListener
implements PropertyAutoPopulator<DateUpdated>
An event listener that handles
DateCreated
and DateUpdated
.- Since:
- 2.3.0
- Author:
- graemerocher
-
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
ConstructorDescriptionAutoTimestampEntityEventListener
(DateTimeProvider<?> dateTimeProvider, DataConversionService conversionService) Default constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected @NonNull List<Class<? extends Annotation>>
protected @NonNull Predicate<RuntimePersistentProperty<Object>>
@NonNull Object
populate
(RuntimePersistentProperty<?> property, @Nullable Object previousValue) Auto-populating the property.boolean
prePersist
(@NonNull EntityEventContext<Object> context) A pre-persist hook.boolean
preUpdate
(@NonNull EntityEventContext<Object> context) A pre-update hook.Methods inherited from class io.micronaut.data.runtime.event.listeners.AutoPopulatedEntityEventListener
getApplicableProperties, supports
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, preRemove
Methods inherited from interface io.micronaut.core.order.Ordered
getOrder
-
Constructor Details
-
AutoTimestampEntityEventListener
public AutoTimestampEntityEventListener(DateTimeProvider<?> dateTimeProvider, DataConversionService conversionService) Default constructor.- Parameters:
dateTimeProvider
- The date time providerconversionService
- The conversion service
-
-
Method Details
-
getEventTypes
- Specified by:
getEventTypes
in classAutoPopulatedEntityEventListener
- Returns:
- The event type
-
getPropertyPredicate
- Specified by:
getPropertyPredicate
in classAutoPopulatedEntityEventListener
- Returns:
- A predicate to apply for the given property.
-
prePersist
Description copied from interface:EntityEventListener
A pre-persist hook. Implementors can return false to evict the operation.- Specified by:
prePersist
in interfaceEntityEventListener<Object>
- Parameters:
context
- The context object- Returns:
- A boolean value indicating whether to proceed with the operation.
-
preUpdate
Description copied from interface:EntityEventListener
A pre-update hook. Implementors can return false to evict the operation.- Specified by:
preUpdate
in interfaceEntityEventListener<Object>
- Parameters:
context
- The context object- Returns:
- A boolean value indicating whether to proceed with the operation.
-
populate
@NonNull public @NonNull Object populate(RuntimePersistentProperty<?> property, @Nullable @Nullable Object previousValue) Description copied from interface:PropertyAutoPopulator
Auto-populating the property.- Specified by:
populate
in interfacePropertyAutoPopulator<DateUpdated>
- Parameters:
property
- the property to auto-populatepreviousValue
- the previous value, if any- Returns:
- new value
-