diff --git a/src/main/java/cc/ryanc/halo/service/base/CrudService.java b/src/main/java/cc/ryanc/halo/service/base/CrudService.java index 75b77a16c..0850afbc7 100644 --- a/src/main/java/cc/ryanc/halo/service/base/CrudService.java +++ b/src/main/java/cc/ryanc/halo/service/base/CrudService.java @@ -15,70 +15,195 @@ import java.util.Optional; * * @param domain type * @param id type + * * @author johnniang */ public interface CrudService { - // **************** Select + /** + * List All + * + * @return List + */ @NonNull List listAll(); + /** + * List all by sort + * + * @param sort sort + * + * @return List + */ @NonNull List listAll(@NonNull Sort sort); + /** + * List all by pageable + * + * @param pageable pageable + * + * @return Page + */ @NonNull Page listAll(@NonNull Pageable pageable); + /** + * List all by ids + * + * @param ids ids + * + * @return List + */ @NonNull List listAllByIds(@NonNull Collection ids); + /** + * List all by ids and sort + * + * @param ids ids + * @param sort sort + * + * @return List + */ @NonNull List listAllByIds(@NonNull Collection ids, @NonNull Sort sort); + /** + * Fetch by id + * + * @param id id + * + * @return Optional + */ @NonNull Optional 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 createInBatch(@NonNull Collection 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 updateInBatch(@NonNull Collection 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 ids); + /** + * Remove all by domains + * + * @param domains domains + */ void removeAll(@NonNull Collection domains); + /** + * Remove all + */ void removeAll(); }