Class SyncEntitiesOperations<T,​Exc extends java.lang.Exception>

  • Type Parameters:
    T - The entity type
    Exc - 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 Detail

      • entityEventListener

        protected final EntityEventListener<java.lang.Object> entityEventListener
      • 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 throw OptimisticLockException.
        Parameters:
        expected - The expected value
        received - THe received value
      • persist

        public void persist()
        Persist one operation.
      • delete

        public void delete()
        Delete one operation.
      • update

        public void update()
        Update one operation.
      • 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 exception
        Exc 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 instance
        id - 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 on EntityEventContext.
        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 on EntityEventContext.
        Parameters:
        fn - The entity context function