Class SyncEntitiesOperations<T,Exc extends java.lang.Exception>
- java.lang.Object
-
- io.micronaut.data.runtime.operations.internal.SyncEntitiesOperations<T,Exc>
-
- Type Parameters:
T
- The entity typeExc
- The exception
- Direct Known Subclasses:
AbstractSyncEntitiesOperations
@Internal public abstract class SyncEntitiesOperations<T,Exc extends java.lang.Exception> extends java.lang.Object
The entities operations container.- Since:
- 3.3
- Author:
- Denis Stepanov
-
-
Field Summary
Fields Modifier and Type Field Description protected io.micronaut.core.convert.ConversionService<?>
conversionService
protected EntityEventListener<java.lang.Object>
entityEventListener
protected RuntimePersistentEntity<T>
persistentEntity
-
Constructor Summary
Constructors Constructor Description SyncEntitiesOperations(EntityEventListener<java.lang.Object> entityEventListener, RuntimePersistentEntity<T> persistentEntity, io.micronaut.core.convert.ConversionService<?> conversionService)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract void
cascadePost(Relation.Cascade cascadeType)
Cascade post operation.protected abstract void
cascadePre(Relation.Cascade cascadeType)
Cascade pre operation.protected void
checkOptimisticLocking(long expected, long received)
Compare the expected modifications and the received rows count.protected abstract void
collectAutoPopulatedPreviousValues()
Collect auto-populated values before pre-triggers modifies them.void
delete()
Delete one operation.protected abstract void
execute()
Execute update.protected void
failed(java.lang.Exception e, java.lang.String operation)
abstract java.util.List<T>
getEntities()
void
persist()
Persist one operation.protected abstract void
triggerPost(java.util.function.Consumer<EntityEventContext<java.lang.Object>> fn)
Trigger post-actions onEntityEventContext
.protected void
triggerPostPersist()
Trigger the post persist event.protected void
triggerPostRemove()
Trigger the post remove event.protected void
triggerPostUpdate()
Trigger the post update event.protected abstract boolean
triggerPre(java.util.function.Function<EntityEventContext<java.lang.Object>,java.lang.Boolean> fn)
Trigger pre-actions onEntityEventContext
.protected boolean
triggerPrePersist()
Trigger the pre persist event.protected boolean
triggerPreRemove()
Trigger the pre remove event.protected boolean
triggerPreUpdate()
Trigger the pre update event.void
update()
Update one operation.protected T
updateEntityId(io.micronaut.core.beans.BeanProperty<T,java.lang.Object> identity, T entity, java.lang.Object id)
Update entity id.abstract void
veto(java.util.function.Predicate<T> predicate)
Veto an entity.
-
-
-
Field Detail
-
entityEventListener
protected final EntityEventListener<java.lang.Object> entityEventListener
-
persistentEntity
protected final RuntimePersistentEntity<T> persistentEntity
-
conversionService
protected final io.micronaut.core.convert.ConversionService<?> conversionService
-
-
Constructor Detail
-
SyncEntitiesOperations
public SyncEntitiesOperations(EntityEventListener<java.lang.Object> entityEventListener, RuntimePersistentEntity<T> persistentEntity, io.micronaut.core.convert.ConversionService<?> conversionService)
-
-
Method Detail
-
getEntities
public abstract java.util.List<T> getEntities()
- Returns:
- The entities
-
checkOptimisticLocking
protected void checkOptimisticLocking(long expected, long received)
Compare the expected modifications and the received rows count. If not equals throwOptimisticLockException
.- Parameters:
expected
- The expected valuereceived
- THe received value
-
persist
public void persist()
Persist one operation.
-
delete
public void delete()
Delete one operation.
-
update
public void update()
Update one operation.
-
failed
protected void failed(java.lang.Exception e, java.lang.String operation) throws DataAccessException
- Throws:
DataAccessException
-
cascadePre
protected abstract void cascadePre(Relation.Cascade cascadeType)
Cascade pre operation.- Parameters:
cascadeType
- The cascade type
-
cascadePost
protected abstract void cascadePost(Relation.Cascade cascadeType)
Cascade post operation.- Parameters:
cascadeType
- The cascade type
-
collectAutoPopulatedPreviousValues
protected abstract void collectAutoPopulatedPreviousValues()
Collect auto-populated values before pre-triggers modifies them.
-
execute
protected abstract void execute() throws Exc extends java.lang.Exception
Execute update.- Throws:
Exc
- The exceptionExc extends java.lang.Exception
-
veto
public abstract void veto(java.util.function.Predicate<T> predicate)
Veto an entity.- Parameters:
predicate
- The veto predicate
-
updateEntityId
protected T updateEntityId(io.micronaut.core.beans.BeanProperty<T,java.lang.Object> identity, T entity, java.lang.Object id)
Update entity id.- Parameters:
identity
- The identity property.entity
- The entity instanceid
- The id instance- Returns:
- The entity instance
-
triggerPrePersist
protected boolean triggerPrePersist()
Trigger the pre persist event.- Returns:
- true if operation was vetoed
-
triggerPreUpdate
protected boolean triggerPreUpdate()
Trigger the pre update event.- Returns:
- true if operation was vetoed
-
triggerPreRemove
protected boolean triggerPreRemove()
Trigger the pre remove event.- Returns:
- true if operation was vetoed
-
triggerPostUpdate
protected void triggerPostUpdate()
Trigger the post update event.
-
triggerPostRemove
protected void triggerPostRemove()
Trigger the post remove event.
-
triggerPostPersist
protected void triggerPostPersist()
Trigger the post persist event.
-
triggerPre
protected abstract boolean triggerPre(java.util.function.Function<EntityEventContext<java.lang.Object>,java.lang.Boolean> fn)
Trigger pre-actions onEntityEventContext
.- Parameters:
fn
- The entity context function- Returns:
- true if operation was vetoed
-
triggerPost
protected abstract void triggerPost(java.util.function.Consumer<EntityEventContext<java.lang.Object>> fn)
Trigger post-actions onEntityEventContext
.- Parameters:
fn
- The entity context function
-
-