diff --git a/src/main/java/org/springframework/data/repository/CrudRepository.java b/src/main/java/org/springframework/data/repository/CrudRepository.java index 080986f02..b3570d8d3 100644 --- a/src/main/java/org/springframework/data/repository/CrudRepository.java +++ b/src/main/java/org/springframework/data/repository/CrudRepository.java @@ -32,16 +32,17 @@ public interface CrudRepository extends Repository { * * @param entity must not be {@literal null}. * @return the saved entity; will never be {@literal null}. + * @throws IllegalArgumentException in case the given {@literal entity} is {@literal null}. */ S save(S entity); /** * Saves all given entities. * - * @param entities must not be {@literal null} nor must it contain {@literal null} + * @param entities must not be {@literal null} nor must it contain {@literal null}. * @return the saved entities; will never be {@literal null}. The returned {@literal Iterable} will have the same size * as the {@literal Iterable} passed as an argument. - * @throws IllegalArgumentException in case the given {@literal Iterable} or one of its contained entities is + * @throws IllegalArgumentException in case the given {@link Iterable entities} or one of its entities is * {@literal null}. */ Iterable saveAll(Iterable entities); @@ -50,8 +51,8 @@ public interface CrudRepository extends Repository { * Retrieves an entity by its id. * * @param id must not be {@literal null}. - * @return the entity with the given id or {@literal Optional#empty()} if none found - * @throws IllegalArgumentException if {@code id} is {@literal null}. + * @return the entity with the given id or {@literal Optional#empty()} if none found. + * @throws IllegalArgumentException if {@literal id} is {@literal null}. */ Optional findById(ID id); @@ -60,7 +61,7 @@ public interface CrudRepository extends Repository { * * @param id must not be {@literal null}. * @return {@literal true} if an entity with the given id exists, {@literal false} otherwise. - * @throws IllegalArgumentException if {@code id} is {@literal null}. + * @throws IllegalArgumentException if {@literal id} is {@literal null}. */ boolean existsById(ID id); @@ -72,23 +73,23 @@ public interface CrudRepository extends Repository { Iterable findAll(); /** - * Returns all instances of the type with the given IDs. + * Returns all instances of the type {@code T} with the given IDs. *

- * If some or all ids are not found no entities are returned for these IDs. + * If some or all ids are not found, no entities are returned for these IDs. *

* Note that the order of elements in the result is not guaranteed. * * @param ids must not be {@literal null} nor contain any {@literal null} values. - * @return guaranteed to be not {@literal null}. The size will be equal or smaller than that of the argument. - * @throws IllegalArgumentException in case the given {@literal Iterable} or one of its contained entities is - * {@literal null}. + * @return guaranteed to be not {@literal null}. The size can be equal or less than the number of given + * {@literal ids}. + * @throws IllegalArgumentException in case the given {@link Iterable ids} or one of its items is {@literal null}. */ Iterable findAllById(Iterable ids); /** * Returns the number of entities available. * - * @return the number of entities + * @return the number of entities. */ long count(); @@ -96,7 +97,7 @@ public interface CrudRepository extends Repository { * Deletes the entity with the given id. * * @param id must not be {@literal null}. - * @throws IllegalArgumentException in case the given {@code id} is {@literal null} + * @throws IllegalArgumentException in case the given {@literal id} is {@literal null} */ void deleteById(ID id); @@ -111,9 +112,8 @@ public interface CrudRepository extends Repository { /** * Deletes the given entities. * - * @param entities must not be {@literal null}. Must not contain {@literal null} elements - * @throws IllegalArgumentException in case the given {@literal Iterable} or one of its contained entities is - * {@literal null}. + * @param entities must not be {@literal null}. Must not contain {@literal null} elements. + * @throws IllegalArgumentException in case the given {@literal entities} or one of its entities is {@literal null}. */ void deleteAll(Iterable entities); diff --git a/src/main/java/org/springframework/data/repository/reactive/ReactiveCrudRepository.java b/src/main/java/org/springframework/data/repository/reactive/ReactiveCrudRepository.java index 24772b567..ad106bd93 100644 --- a/src/main/java/org/springframework/data/repository/reactive/ReactiveCrudRepository.java +++ b/src/main/java/org/springframework/data/repository/reactive/ReactiveCrudRepository.java @@ -41,7 +41,7 @@ public interface ReactiveCrudRepository extends Repository { * * @param entity must not be {@literal null}. * @return {@link Mono} emitting the saved entity. - * @throws IllegalArgumentException in case the given {@code entity} is {@literal null}. + * @throws IllegalArgumentException in case the given {@literal entity} is {@literal null}. */ Mono save(S entity); @@ -50,7 +50,8 @@ public interface ReactiveCrudRepository extends Repository { * * @param entities must not be {@literal null}. * @return {@link Flux} emitting the saved entities. - * @throws IllegalArgumentException in case the given {@link Iterable} {@code entities} is {@literal null}. + * @throws IllegalArgumentException in case the given {@link Iterable entities} or one of its entities is + * {@literal null}. */ Flux saveAll(Iterable entities); @@ -59,7 +60,7 @@ public interface ReactiveCrudRepository extends Repository { * * @param entityStream must not be {@literal null}. * @return {@link Flux} emitting the saved entities. - * @throws IllegalArgumentException in case the given {@code Publisher} {@code entityStream} is {@literal null}. + * @throws IllegalArgumentException in case the given {@link Publisher entityStream} is {@literal null}. */ Flux saveAll(Publisher entityStream); @@ -68,7 +69,7 @@ public interface ReactiveCrudRepository extends Repository { * * @param id must not be {@literal null}. * @return {@link Mono} emitting the entity with the given id or {@link Mono#empty()} if none found. - * @throws IllegalArgumentException in case the given {@code id} is {@literal null}. + * @throws IllegalArgumentException in case the given {@literal id} is {@literal null}. */ Mono findById(ID id); @@ -77,16 +78,16 @@ public interface ReactiveCrudRepository extends Repository { * * @param id must not be {@literal null}. Uses the first emitted element to perform the find-query. * @return {@link Mono} emitting the entity with the given id or {@link Mono#empty()} if none found. - * @throws IllegalArgumentException in case the given {@link Publisher} {@code id} is {@literal null}. + * @throws IllegalArgumentException in case the given {@link Publisher id} is {@literal null}. */ Mono findById(Publisher id); /** - * Returns whether an entity with the id exists. + * Returns whether an entity with the given {@literal id} exists. * * @param id must not be {@literal null}. * @return {@link Mono} emitting {@literal true} if an entity with the given id exists, {@literal false} otherwise. - * @throws IllegalArgumentException in case the given {@code id} is {@literal null}. + * @throws IllegalArgumentException in case the given {@literal id} is {@literal null}. */ Mono existsById(ID id); @@ -95,8 +96,8 @@ public interface ReactiveCrudRepository extends Repository { * element to perform the exists-query. * * @param id must not be {@literal null}. - * @return {@link Mono} emitting {@literal true} if an entity with the given id exists, {@literal false} otherwise - * @throws IllegalArgumentException in case the given {@link Publisher} {@code id} is {@literal null}. + * @return {@link Mono} emitting {@literal true} if an entity with the given id exists, {@literal false} otherwise. + * @throws IllegalArgumentException in case the given {@link Publisher id} is {@literal null}. */ Mono existsById(Publisher id); @@ -108,20 +109,29 @@ public interface ReactiveCrudRepository extends Repository { Flux findAll(); /** - * Returns all instances with the given IDs. + * Returns all instances of the type {@code T} with the given IDs. + *

+ * If some or all ids are not found, no entities are returned for these IDs. + *

+ * Note that the order of elements in the result is not guaranteed. * - * @param ids must not be {@literal null}. - * @return {@link Flux} emitting the found entities. - * @throws IllegalArgumentException in case the given {@link Iterable} {@code ids} is {@literal null}. + * @param ids must not be {@literal null} nor contain any {@literal null} values. + * @return {@link Flux} emitting the found entities. The size can be equal or less than the number of given + * {@literal ids}. + * @throws IllegalArgumentException in case the given {@link Iterable ids} or one of its items is {@literal null}. */ Flux findAllById(Iterable ids); /** - * Returns all instances of the type with the given IDs supplied by a {@link Publisher}. + * Returns all instances of the type {@code T} with the given IDs supplied by a {@link Publisher}. + *

+ * If some or all ids are not found, no entities are returned for these IDs. + *

+ * Note that the order of elements in the result is not guaranteed. * * @param idStream must not be {@literal null}. * @return {@link Flux} emitting the found entities. - * @throws IllegalArgumentException in case the given {@link Publisher} {@code idStream} is {@literal null}. + * @throws IllegalArgumentException in case the given {@link Publisher idStream} is {@literal null}. */ Flux findAllById(Publisher idStream); @@ -137,7 +147,7 @@ public interface ReactiveCrudRepository extends Repository { * * @param id must not be {@literal null}. * @return {@link Mono} signaling when operation has completed. - * @throws IllegalArgumentException in case the given {@code id} is {@literal null}. + * @throws IllegalArgumentException in case the given {@literal id} is {@literal null}. */ Mono deleteById(ID id); @@ -146,7 +156,7 @@ public interface ReactiveCrudRepository extends Repository { * * @param id must not be {@literal null}. * @return {@link Mono} signaling when operation has completed. - * @throws IllegalArgumentException in case the given {@link Publisher} {@code id} is {@literal null}. + * @throws IllegalArgumentException in case the given {@link Publisher id} is {@literal null}. */ Mono deleteById(Publisher id); @@ -164,7 +174,8 @@ public interface ReactiveCrudRepository extends Repository { * * @param entities must not be {@literal null}. * @return {@link Mono} signaling when operation has completed. - * @throws IllegalArgumentException in case the given {@link Iterable} {@code entities} is {@literal null}. + * @throws IllegalArgumentException in case the given {@link Iterable entities} or one of its entities is + * {@literal null}. */ Mono deleteAll(Iterable entities); @@ -173,7 +184,7 @@ public interface ReactiveCrudRepository extends Repository { * * @param entityStream must not be {@literal null}. * @return {@link Mono} signaling when operation has completed. - * @throws IllegalArgumentException in case the given {@link Publisher} {@code entityStream} is {@literal null}. + * @throws IllegalArgumentException in case the given {@link Publisher entityStream} is {@literal null}. */ Mono deleteAll(Publisher entityStream); diff --git a/src/main/java/org/springframework/data/repository/reactive/RxJava2CrudRepository.java b/src/main/java/org/springframework/data/repository/reactive/RxJava2CrudRepository.java index 948906042..c7e678e9a 100644 --- a/src/main/java/org/springframework/data/repository/reactive/RxJava2CrudRepository.java +++ b/src/main/java/org/springframework/data/repository/reactive/RxJava2CrudRepository.java @@ -42,7 +42,8 @@ public interface RxJava2CrudRepository extends Repository { * entity instance completely. * * @param entity must not be {@literal null}. - * @return the saved entity. + * @return {@link Single} emitting the saved entity. + * @throws IllegalArgumentException in case the given {@literal entity} is {@literal null}. */ Single save(S entity); @@ -50,8 +51,9 @@ public interface RxJava2CrudRepository extends Repository { * Saves all given entities. * * @param entities must not be {@literal null}. - * @return the saved entities. - * @throws IllegalArgumentException in case the given entity is {@literal null}. + * @return {@link Flowable} emitting the saved entities. + * @throws IllegalArgumentException in case the given {@link Iterable entities} or one of its entities is + * {@literal null}. */ Flowable saveAll(Iterable entities); @@ -59,8 +61,8 @@ public interface RxJava2CrudRepository extends Repository { * Saves all given entities. * * @param entityStream must not be {@literal null}. - * @return the saved entities. - * @throws IllegalArgumentException in case the given {@code Publisher} is {@literal null}. + * @return {@link Flowable} emitting the saved entities. + * @throws IllegalArgumentException in case the given {@link Flowable entityStream} is {@literal null}. */ Flowable saveAll(Flowable entityStream); @@ -68,26 +70,26 @@ public interface RxJava2CrudRepository extends Repository { * Retrieves an entity by its id. * * @param id must not be {@literal null}. - * @return the entity with the given id or {@link Maybe#empty()} if none found. - * @throws IllegalArgumentException if {@code id} is {@literal null}. + * @return {@link Maybe} emitting the entity with the given id or {@link Maybe#empty()} if none found. + * @throws IllegalArgumentException in case the given {@literal id} is {@literal null}. */ Maybe findById(ID id); /** * Retrieves an entity by its id supplied by a {@link Single}. * - * @param id must not be {@literal null}. - * @return the entity with the given id or {@link Maybe#empty()} if none found. - * @throws IllegalArgumentException if {@code id} is {@literal null}. + * @param id must not be {@literal null}. Uses the first emitted element to perform the find-query. + * @return {@link Maybe} emitting the entity with the given id or {@link Maybe#empty()} if none found. + * @throws IllegalArgumentException in case the given {@link Single id} is {@literal null}. */ Maybe findById(Single id); /** - * Returns whether an entity with the given id exists. + * Returns whether an entity with the given {@literal id} exists. * * @param id must not be {@literal null}. - * @return {@literal true} if an entity with the given id exists, {@literal false} otherwise. - * @throws IllegalArgumentException if {@code id} is {@literal null}. + * @return {@link Single} emitting {@literal true} if an entity with the given id exists, {@literal false} otherwise. + * @throws IllegalArgumentException in case the given {@literal id} is {@literal null}. */ Single existsById(ID id); @@ -95,38 +97,49 @@ public interface RxJava2CrudRepository extends Repository { * Returns whether an entity with the given id, supplied by a {@link Single}, exists. * * @param id must not be {@literal null}. - * @return {@literal true} if an entity with the given id exists, {@literal false} otherwise. - * @throws IllegalArgumentException if {@code id} is {@literal null} + * @return {@link Single} emitting {@literal true} if an entity with the given id exists, {@literal false} otherwise. + * @throws IllegalArgumentException in case the given {@link Single id} is {@literal null}. */ Single existsById(Single id); /** * Returns all instances of the type. * - * @return all entities. + * @return {@link Flowable} emitting all entities. */ Flowable findAll(); /** - * Returns all instances of the type with the given IDs. + * Returns all instances of the type {@code T} with the given IDs. + *

+ * If some or all ids are not found, no entities are returned for these IDs. + *

+ * Note that the order of elements in the result is not guaranteed. * - * @param ids must not be {@literal null}. - * @return the found entities. + * @param ids must not be {@literal null} nor contain any {@literal null} values. + * @return {@link Flowable} emitting the found entities. The size can be equal or less than the number of given + * {@literal ids}. + * @throws IllegalArgumentException in case the given {@link Iterable ids} or one of its items is {@literal null}. */ Flowable findAllById(Iterable ids); /** - * Returns all instances of the type with the given IDs. + * Returns all instances of the type {@code T} with the given IDs supplied by a {@link Flowable}. + *

+ * If some or all ids are not found, no entities are returned for these IDs. + *

+ * Note that the order of elements in the result is not guaranteed. * * @param idStream must not be {@literal null}. - * @return the found entities. + * @return {@link Flowable} emitting the found entities. + * @throws IllegalArgumentException in case the given {@link Flowable idStream} is {@literal null}. */ Flowable findAllById(Flowable idStream); /** * Returns the number of entities available. * - * @return the number of entities. + * @return {@link Single} emitting the number of entities. */ Single count(); @@ -134,7 +147,8 @@ public interface RxJava2CrudRepository extends Repository { * Deletes the entity with the given id. * * @param id must not be {@literal null}. - * @throws IllegalArgumentException in case the given {@code id} is {@literal null}. + * @return {@link Completable} signaling when operation has completed. + * @throws IllegalArgumentException in case the given {@literal id} is {@literal null}. */ Completable deleteById(ID id); @@ -142,6 +156,7 @@ public interface RxJava2CrudRepository extends Repository { * Deletes a given entity. * * @param entity must not be {@literal null}. + * @return {@link Completable} signaling when operation has completed. * @throws IllegalArgumentException in case the given entity is {@literal null}. */ Completable delete(T entity); @@ -150,20 +165,25 @@ public interface RxJava2CrudRepository extends Repository { * Deletes the given entities. * * @param entities must not be {@literal null}. - * @throws IllegalArgumentException in case the given {@link Iterable} is {@literal null}. + * @return {@link Completable} signaling when operation has completed. + * @throws IllegalArgumentException in case the given {@link Iterable entities} or one of its entities is + * {@literal null}. */ Completable deleteAll(Iterable entities); /** - * Deletes the given entities. + * Deletes the given entities supplied by a {@link Flowable}. * * @param entityStream must not be {@literal null}. - * @throws IllegalArgumentException in case the given {@link Flowable} is {@literal null}. + * @return {@link Completable} signaling when operation has completed. + * @throws IllegalArgumentException in case the given {@link Flowable entityStream} is {@literal null}. */ Completable deleteAll(Flowable entityStream); /** * Deletes all entities managed by the repository. + * + * @return {@link Completable} signaling when operation has completed. */ Completable deleteAll(); }