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
- * @return
+ * @param ids must not be {@literal null} nor contain any {@literal null} values.
+ * @return guaranteed to be not {@literal null}. The size can be equal or less than the number of given {@code 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();
@@ -95,7 +103,7 @@ public interface CrudRepository extends Repository {
/**
* Deletes a given entity.
*
- * @param entity
+ * @param entity must not be {@literal null}.
* @throws IllegalArgumentException in case the given entity is {@literal null}.
*/
void delete(T entity);
@@ -103,8 +111,8 @@ public interface CrudRepository extends Repository {
/**
* Deletes the given entities.
*
- * @param entities
- * @throws IllegalArgumentException in case the given {@link Iterable} 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 extends T> 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 24772b5674..6929672f3e 100644
--- a/src/main/java/org/springframework/data/repository/reactive/ReactiveCrudRepository.java
+++ b/src/main/java/org/springframework/data/repository/reactive/ReactiveCrudRepository.java
@@ -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);
@@ -77,12 +78,12 @@ 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 {@code 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.
@@ -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
+ * {@code 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);
@@ -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 extends T> 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 extends T> 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 9489060424..7e005f498c 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 {@code 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 {@code 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 {@code 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 {@code 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
+ * {@code 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,6 +147,7 @@ public interface RxJava2CrudRepository extends Repository {
* Deletes the entity with the given id.
*
* @param id must not be {@literal null}.
+ * @return {@link Completable} signaling when operation has completed.
* @throws IllegalArgumentException in case the given {@code 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 extends T> 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 extends T> entityStream);
/**
* Deletes all entities managed by the repository.
+ *
+ * @return {@link Completable} signaling when operation has completed.
*/
Completable deleteAll();
}