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 <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();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue