mirror of https://github.com/halo-dev/halo
🎨 modify BaseRepositoryImpl.java
parent
c806ac321a
commit
d115ef6512
|
@ -15,70 +15,195 @@ import java.util.Optional;
|
|||
*
|
||||
* @param <DOMAIN> domain type
|
||||
* @param <ID> id type
|
||||
*
|
||||
* @author johnniang
|
||||
*/
|
||||
public interface CrudService<DOMAIN, ID> {
|
||||
|
||||
// **************** Select
|
||||
|
||||
/**
|
||||
* List All
|
||||
*
|
||||
* @return List
|
||||
*/
|
||||
@NonNull
|
||||
List<DOMAIN> listAll();
|
||||
|
||||
/**
|
||||
* List all by sort
|
||||
*
|
||||
* @param sort sort
|
||||
*
|
||||
* @return List
|
||||
*/
|
||||
@NonNull
|
||||
List<DOMAIN> listAll(@NonNull Sort sort);
|
||||
|
||||
/**
|
||||
* List all by pageable
|
||||
*
|
||||
* @param pageable pageable
|
||||
*
|
||||
* @return Page
|
||||
*/
|
||||
@NonNull
|
||||
Page<DOMAIN> listAll(@NonNull Pageable pageable);
|
||||
|
||||
/**
|
||||
* List all by ids
|
||||
*
|
||||
* @param ids ids
|
||||
*
|
||||
* @return List
|
||||
*/
|
||||
@NonNull
|
||||
List<DOMAIN> listAllByIds(@NonNull Collection<ID> ids);
|
||||
|
||||
/**
|
||||
* List all by ids and sort
|
||||
*
|
||||
* @param ids ids
|
||||
* @param sort sort
|
||||
*
|
||||
* @return List
|
||||
*/
|
||||
@NonNull
|
||||
List<DOMAIN> listAllByIds(@NonNull Collection<ID> ids, @NonNull Sort sort);
|
||||
|
||||
/**
|
||||
* Fetch by id
|
||||
*
|
||||
* @param id id
|
||||
*
|
||||
* @return Optional
|
||||
*/
|
||||
@NonNull
|
||||
Optional<DOMAIN> fetchById(@NonNull ID id);
|
||||
|
||||
/**
|
||||
* Get by id
|
||||
*
|
||||
* @param id id
|
||||
*
|
||||
* @return DOMAIN
|
||||
*/
|
||||
@NonNull
|
||||
DOMAIN getById(@NonNull ID id);
|
||||
|
||||
/**
|
||||
* Get nullable by id
|
||||
*
|
||||
* @param id id
|
||||
*
|
||||
* @return DOMAIN
|
||||
*/
|
||||
@Nullable
|
||||
DOMAIN getNullableById(@NonNull ID id);
|
||||
|
||||
/**
|
||||
* @param id id
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
boolean existsById(@NonNull ID id);
|
||||
|
||||
/**
|
||||
* exist by id
|
||||
*
|
||||
* @param id id
|
||||
*/
|
||||
void mustExistById(@NonNull ID id);
|
||||
|
||||
/**
|
||||
* count all
|
||||
*
|
||||
* @return long
|
||||
*/
|
||||
long count();
|
||||
|
||||
// **************** Create
|
||||
/**
|
||||
* save by domain
|
||||
*
|
||||
* @param domain domain
|
||||
*
|
||||
* @return DOMAIN
|
||||
*/
|
||||
@NonNull
|
||||
DOMAIN create(@NonNull DOMAIN domain);
|
||||
|
||||
/**
|
||||
* save by domains
|
||||
*
|
||||
* @param domains domains
|
||||
*
|
||||
* @return List
|
||||
*/
|
||||
@NonNull
|
||||
List<DOMAIN> createInBatch(@NonNull Collection<DOMAIN> domains);
|
||||
|
||||
|
||||
// **************** Update
|
||||
/**
|
||||
* Update by domain
|
||||
*
|
||||
* @param domain domain
|
||||
*
|
||||
* @return DOMAIN
|
||||
*/
|
||||
@NonNull
|
||||
DOMAIN update(@NonNull DOMAIN domain);
|
||||
|
||||
/**
|
||||
* Update by domains
|
||||
*
|
||||
* @param domains domains
|
||||
*
|
||||
* @return List
|
||||
*/
|
||||
@NonNull
|
||||
List<DOMAIN> updateInBatch(@NonNull Collection<DOMAIN> domains);
|
||||
|
||||
|
||||
// **************** Delete
|
||||
/**
|
||||
* Remove by id
|
||||
*
|
||||
* @param id id
|
||||
*
|
||||
* @return DOMAIN
|
||||
*/
|
||||
@NonNull
|
||||
DOMAIN removeById(@NonNull ID id);
|
||||
|
||||
/**
|
||||
* Remove by id
|
||||
*
|
||||
* @param id id
|
||||
*
|
||||
* @return DOMAIN
|
||||
*/
|
||||
@Nullable
|
||||
DOMAIN removeByIdOfNullable(@NonNull ID id);
|
||||
|
||||
/**
|
||||
* Remove by domain
|
||||
*
|
||||
* @param domain domain
|
||||
*/
|
||||
void remove(@NonNull DOMAIN domain);
|
||||
|
||||
/**
|
||||
* Remove by ids
|
||||
*
|
||||
* @param ids ids
|
||||
*/
|
||||
void removeInBatch(@NonNull Collection<ID> ids);
|
||||
|
||||
/**
|
||||
* Remove all by domains
|
||||
*
|
||||
* @param domains domains
|
||||
*/
|
||||
void removeAll(@NonNull Collection<DOMAIN> domains);
|
||||
|
||||
/**
|
||||
* Remove all
|
||||
*/
|
||||
void removeAll();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue