Class BaseService<M extends BaseModel<I>,C extends BaseCriteria<I>,D,R extends BaseRepository<M,C,I,U>,I extends Serializable,U>

java.lang.Object
org.bardframework.crud.api.base.ReadService<M,C,R,I,U>
org.bardframework.crud.api.base.BaseService<M,C,D,R,I,U>

public abstract class BaseService<M extends BaseModel<I>,C extends BaseCriteria<I>,D,R extends BaseRepository<M,C,I,U>,I extends Serializable,U> extends ReadService<M,C,R,I,U>
Created by vahid on 1/17/17.
  • Field Details

    • dtoClazz

      protected final Class<D> dtoClazz
  • Constructor Details

    • BaseService

      public BaseService(R repository)
  • Method Details

    • delete

      @Transactional public long delete(I id, U user)
      delete data with given id
      Parameters:
      id - identifier of data that must be delete
      Returns:
      count of deleted data
    • delete

      @Transactional public long delete(Collection<I> ids, U user)
    • delete

      @Transactional public long delete(C criteria, U user)
    • preDelete

      protected void preDelete(C criteria, List<M> models, U user)
      execute before deleting data
    • preDelete

      protected void preDelete(C criteria, M model, U user)
    • postDelete

      protected void postDelete(C criteria, List<M> deletedModels, long deletedCount, U user)
    • postDelete

      protected void postDelete(M deletedModel, U user)
      execute after deleting data
    • save

      @Transactional public M save(D dto, U user)
      save new data
      Returns:
      saved data model
    • save

      @Transactional public List<M> save(List<D> dtos, U user)
      save new data
      Returns:
      saved data models
    • onSave

      protected abstract M onSave(D dto, U user)
      converting dto to model for save
    • preSave

      protected void preSave(List<D> dtos, U user)
    • preSave

      protected void preSave(D dto, U user)
    • postSave

      protected void postSave(List<D> dtos, List<M> savedModels, U user)
    • postSave

      protected void postSave(M savedModel, D dto, U user)
    • patch

      @Transactional public M patch(I id, Map<String,Object> patch, U user)
    • prePatch

      protected void prePatch(M previousModel, Map<String,Object> patch, U user)
    • postPatch

      protected void postPatch(M previousModel, M patchedModel, Map<String,Object> patch, U user)
    • update

      @Transactional public M update(I id, D dto, U user)
    • onUpdate

      protected abstract void onUpdate(D dto, M previousModel, U user)
    • preUpdate

      protected void preUpdate(M previousModel, D dto, U user)
    • postUpdate

      protected void postUpdate(M previousModel, M updatedModel, D dto, U user)