Package org.bardframework.crud.api.base
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.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 Object
Created by vahid on 1/17/17.
-
-
Field Summary
Fields Modifier and Type Field Description protected Class<C>criteriaClazzprotected Class<D>dtoClazzprotected org.slf4j.LoggerLOGGERprotected Class<M>modelClazzprotected Rrepository
-
Constructor Summary
Constructors Constructor Description BaseService(R repository)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description longdelete(C criteria, U user)longdelete(I id, U user)delete data with given idlongdelete(Collection<I> ids, U user)PagedData<M>get(C criteria, org.springframework.data.domain.Pageable pageable, U user)List<M>get(C criteria, U user)get all data match with givencriteriaMget(I id, U user)get by idList<M>get(Collection<I> ids, U user)List<M>get(U user)longgetCount(C criteria, U user)protected CgetEmptyCriteria()List<I>getIds(C criteria, U user)MgetOne(C criteria, U user)RgetRepository()booleanisExist(C criteria, U user)booleanisNotExist(C criteria, U user)protected abstract MonSave(D dto, U user)converting dto to model for saveprotected abstract voidonUpdate(D dto, M previousModel, U user)Mpatch(I id, Map<String,Object> patch, U user)protected voidpostDelete(C criteria, List<M> deletedModels, long deletedCount, U user)protected voidpostDelete(M deletedModel, U user)execute after deleting dataprotected voidpostFetch(C criteria, List<M> result, U user)protected voidpostFetch(M model, U user)protected voidpostPatch(M previousModel, M patchedModel, Map<String,Object> patch, U user)protected voidpostSave(List<D> dtos, List<M> savedModels, U user)protected voidpostSave(M savedModel, D dto, U user)protected voidpostUpdate(M previousModel, M updatedModel, D dto, U user)protected voidpreDelete(C criteria, List<M> models, U user)execute before deleting dataprotected voidpreDelete(C criteria, M model, U user)protected voidpreFetch(C criteria, U user)protected voidprePatch(M previousModel, Map<String,Object> patch, U user)protected voidpreSave(D dto, U user)protected voidpreSave(List<D> dtos, U user)protected voidpreUpdate(M previousModel, D dto, U user)Msave(D dto, U user)save new dataList<M>save(List<D> dtos, U user)save new dataMupdate(I id, D dto, U user)
-
-
-
Field Detail
-
LOGGER
protected final org.slf4j.Logger LOGGER
-
criteriaClazz
protected final Class<C extends BaseCriteria<I>> criteriaClazz
-
-
Constructor Detail
-
BaseService
public BaseService(R repository)
-
-
Method Detail
-
getEmptyCriteria
protected C getEmptyCriteria()
-
get
public List<M> get(Collection<I> ids, U user)
-
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)
-
preDelete
protected void preDelete(C criteria, List<M> models, U user)
execute before deleting data
-
save
@Transactional public List<M> save(List<D> dtos, U user)
save new data- Returns:
- saved data models
-
postPatch
protected void postPatch(M previousModel, M patchedModel, Map<String,Object> patch, U user)
-
getRepository
public R getRepository()
-
-