Class BaseServiceAbstract<M extends BaseModel<I>,​C extends BaseCriteria<I>,​D,​R extends BaseRepository<M,​C,​I,​U>,​I extends Comparable<? super I>,​U>

    • Field Detail

      • LOGGER

        protected final org.slf4j.Logger LOGGER
      • dtoClazz

        protected final Class<D> dtoClazz
    • Constructor Detail

      • BaseServiceAbstract

        public BaseServiceAbstract​(R repository)
    • Method Detail

      • getEmptyCriteria

        protected C getEmptyCriteria()
      • get

        public List<M> get​(U user)
      • get

        public List<M> get​(C criteria,
                           U user)
        get all data match with given criteria
      • getOne

        public M getOne​(C criteria,
                        U user)
        Returns:
        one entity with given criteria
      • preFetch

        protected void preFetch​(C criteria,
                                U user)
      • postFetch

        protected void postFetch​(C criteria,
                                 List<M> result,
                                 U user)
      • postFetch

        protected void postFetch​(M model,
                                 U user)
      • delete

        @Transactional
        public long delete​(List<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 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)
      • 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)
      • 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)
      • getIds

        public List<I> getIds​(C criteria,
                              U user)
      • getCount

        public long getCount​(C criteria,
                             U user)
      • isExist

        public boolean isExist​(C criteria,
                               U user)
      • isNotExist

        public boolean isNotExist​(C criteria,
                                  U user)
      • getRepository

        protected R getRepository()