🎨 modify BaseRepositoryImpl.java

pull/98/head
ruibaby 2019-02-20 11:49:47 +08:00
parent c806ac321a
commit d115ef6512
1 changed files with 131 additions and 6 deletions

View File

@ -15,70 +15,195 @@ import java.util.Optional;
* *
* @param <DOMAIN> domain type * @param <DOMAIN> domain type
* @param <ID> id type * @param <ID> id type
*
* @author johnniang * @author johnniang
*/ */
public interface CrudService<DOMAIN, ID> { public interface CrudService<DOMAIN, ID> {
// **************** Select
/**
* List All
*
* @return List
*/
@NonNull @NonNull
List<DOMAIN> listAll(); List<DOMAIN> listAll();
/**
* List all by sort
*
* @param sort sort
*
* @return List
*/
@NonNull @NonNull
List<DOMAIN> listAll(@NonNull Sort sort); List<DOMAIN> listAll(@NonNull Sort sort);
/**
* List all by pageable
*
* @param pageable pageable
*
* @return Page
*/
@NonNull @NonNull
Page<DOMAIN> listAll(@NonNull Pageable pageable); Page<DOMAIN> listAll(@NonNull Pageable pageable);
/**
* List all by ids
*
* @param ids ids
*
* @return List
*/
@NonNull @NonNull
List<DOMAIN> listAllByIds(@NonNull Collection<ID> ids); List<DOMAIN> listAllByIds(@NonNull Collection<ID> ids);
/**
* List all by ids and sort
*
* @param ids ids
* @param sort sort
*
* @return List
*/
@NonNull @NonNull
List<DOMAIN> listAllByIds(@NonNull Collection<ID> ids, @NonNull Sort sort); List<DOMAIN> listAllByIds(@NonNull Collection<ID> ids, @NonNull Sort sort);
/**
* Fetch by id
*
* @param id id
*
* @return Optional
*/
@NonNull @NonNull
Optional<DOMAIN> fetchById(@NonNull ID id); Optional<DOMAIN> fetchById(@NonNull ID id);
/**
* Get by id
*
* @param id id
*
* @return DOMAIN
*/
@NonNull @NonNull
DOMAIN getById(@NonNull ID id); DOMAIN getById(@NonNull ID id);
/**
* Get nullable by id
*
* @param id id
*
* @return DOMAIN
*/
@Nullable @Nullable
DOMAIN getNullableById(@NonNull ID id); DOMAIN getNullableById(@NonNull ID id);
/**
* @param id id
*
* @return boolean
*/
boolean existsById(@NonNull ID id); boolean existsById(@NonNull ID id);
/**
* exist by id
*
* @param id id
*/
void mustExistById(@NonNull ID id); void mustExistById(@NonNull ID id);
/**
* count all
*
* @return long
*/
long count(); long count();
// **************** Create /**
* save by domain
*
* @param domain domain
*
* @return DOMAIN
*/
@NonNull @NonNull
DOMAIN create(@NonNull DOMAIN domain); DOMAIN create(@NonNull DOMAIN domain);
/**
* save by domains
*
* @param domains domains
*
* @return List
*/
@NonNull @NonNull
List<DOMAIN> createInBatch(@NonNull Collection<DOMAIN> domains); List<DOMAIN> createInBatch(@NonNull Collection<DOMAIN> domains);
/**
// **************** Update * Update by domain
*
* @param domain domain
*
* @return DOMAIN
*/
@NonNull @NonNull
DOMAIN update(@NonNull DOMAIN domain); DOMAIN update(@NonNull DOMAIN domain);
/**
* Update by domains
*
* @param domains domains
*
* @return List
*/
@NonNull @NonNull
List<DOMAIN> updateInBatch(@NonNull Collection<DOMAIN> domains); List<DOMAIN> updateInBatch(@NonNull Collection<DOMAIN> domains);
/**
// **************** Delete * Remove by id
*
* @param id id
*
* @return DOMAIN
*/
@NonNull @NonNull
DOMAIN removeById(@NonNull ID id); DOMAIN removeById(@NonNull ID id);
/**
* Remove by id
*
* @param id id
*
* @return DOMAIN
*/
@Nullable @Nullable
DOMAIN removeByIdOfNullable(@NonNull ID id); DOMAIN removeByIdOfNullable(@NonNull ID id);
/**
* Remove by domain
*
* @param domain domain
*/
void remove(@NonNull DOMAIN domain); void remove(@NonNull DOMAIN domain);
/**
* Remove by ids
*
* @param ids ids
*/
void removeInBatch(@NonNull Collection<ID> ids); void removeInBatch(@NonNull Collection<ID> ids);
/**
* Remove all by domains
*
* @param domains domains
*/
void removeAll(@NonNull Collection<DOMAIN> domains); void removeAll(@NonNull Collection<DOMAIN> domains);
/**
* Remove all
*/
void removeAll(); void removeAll();
} }