Interface ReactorCrudRepository<E,ID>
-
- Type Parameters:
E
- The entity typeID
- The ID type
- All Superinterfaces:
GenericRepository<E,ID>
,ReactiveStreamsCrudRepository<E,ID>
- All Known Subinterfaces:
ReactorCrudRepository<E,ID>
,ReactorPageableRepository<E,ID>
public interface ReactorCrudRepository<E,ID> extends ReactiveStreamsCrudRepository<E,ID>
CRUD repository for Project Reactor.- Since:
- 3.1
- Author:
- graemerocher, Denis Stepanov
- See Also:
ReactiveStreamsCrudRepository
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description reactor.core.publisher.Mono<java.lang.Long>
count()
Returns the number of entities available.reactor.core.publisher.Mono<java.lang.Long>
delete(E entity)
Deletes a given entity.reactor.core.publisher.Mono<java.lang.Long>
deleteAll()
Deletes all entities managed by the repository.reactor.core.publisher.Mono<java.lang.Long>
deleteAll(@NotNull java.lang.Iterable<? extends E> entities)
Deletes the given entities.reactor.core.publisher.Mono<java.lang.Long>
deleteById(ID id)
Deletes the entity with the given id.reactor.core.publisher.Mono<java.lang.Boolean>
existsById(ID id)
Returns whether an entity with the given id exists.reactor.core.publisher.Flux<E>
findAll()
Returns all instances of the type.reactor.core.publisher.Mono<E>
findById(ID id)
Retrieves an entity by its id.<S extends E>
reactor.core.publisher.Mono<S>save(S entity)
Saves the given valid entity, returning a possibly new entity representing the saved state.<S extends E>
reactor.core.publisher.Flux<S>saveAll(@Valid @NotNull java.lang.Iterable<S> entities)
Saves all given entities, possibly returning new instances representing the saved state.<S extends E>
reactor.core.publisher.Mono<S>update(S entity)
This method issues an explicit update for the given entity.<S extends E>
reactor.core.publisher.Flux<S>updateAll(@Valid @NotNull java.lang.Iterable<S> entities)
This method issues an explicit update for the given entities.
-
-
-
Method Detail
-
save
@NonNull <S extends E> reactor.core.publisher.Mono<S> save(@NonNull @Valid @NotNull S entity)
Description copied from interface:ReactiveStreamsCrudRepository
Saves the given valid entity, returning a possibly new entity representing the saved state.- Specified by:
save
in interfaceReactiveStreamsCrudRepository<E,ID>
- Type Parameters:
S
- The generic type- Parameters:
entity
- The entity to save. Must not be null.- Returns:
- The saved entity will never be null.
-
saveAll
@NonNull <S extends E> reactor.core.publisher.Flux<S> saveAll(@NonNull @Valid @NotNull @Valid @NotNull java.lang.Iterable<S> entities)
Description copied from interface:ReactiveStreamsCrudRepository
Saves all given entities, possibly returning new instances representing the saved state.- Specified by:
saveAll
in interfaceReactiveStreamsCrudRepository<E,ID>
- Type Parameters:
S
- The generic type- Parameters:
entities
- The entities to saved. Must not be null.- Returns:
- The saved entities objects. will never be null.
-
update
@NonNull <S extends E> reactor.core.publisher.Mono<S> update(@NonNull @Valid @NotNull S entity)
Description copied from interface:ReactiveStreamsCrudRepository
This method issues an explicit update for the given entity. The method differs fromReactiveStreamsCrudRepository.save(Object)
in that an update will be generated regardless if the entity has been saved previously or not. If the entity has no assigned ID then an exception will be thrown.- Specified by:
update
in interfaceReactiveStreamsCrudRepository<E,ID>
- Type Parameters:
S
- The generic type- Parameters:
entity
- The entity to update. Must not be null.- Returns:
- The updated entity will never be null.
-
updateAll
@NonNull <S extends E> reactor.core.publisher.Flux<S> updateAll(@NonNull @Valid @NotNull @Valid @NotNull java.lang.Iterable<S> entities)
Description copied from interface:ReactiveStreamsCrudRepository
This method issues an explicit update for the given entities. The method differs fromReactiveStreamsCrudRepository.saveAll(Iterable)
in that an update will be generated regardless if the entity has been saved previously or not. If the entity has no assigned ID then an exception will be thrown.- Specified by:
updateAll
in interfaceReactiveStreamsCrudRepository<E,ID>
- Type Parameters:
S
- The generic type- Parameters:
entities
- The entities to update. Must not be null.- Returns:
- The updated entities will never be null.
-
findById
@NonNull reactor.core.publisher.Mono<E> findById(@NonNull @NotNull ID id)
Description copied from interface:ReactiveStreamsCrudRepository
Retrieves an entity by its id.- Specified by:
findById
in interfaceReactiveStreamsCrudRepository<E,ID>
- Parameters:
id
- The ID of the entity to retrieve. Must not be null.- Returns:
- the entity with the given id or Optional#empty() if none found
-
existsById
@NonNull reactor.core.publisher.Mono<java.lang.Boolean> existsById(@NonNull @NotNull ID id)
Description copied from interface:ReactiveStreamsCrudRepository
Returns whether an entity with the given id exists.- Specified by:
existsById
in interfaceReactiveStreamsCrudRepository<E,ID>
- Parameters:
id
- must not be null.- Returns:
- true if an entity with the given id exists, false otherwise.
-
findAll
@NonNull reactor.core.publisher.Flux<E> findAll()
Description copied from interface:ReactiveStreamsCrudRepository
Returns all instances of the type.- Specified by:
findAll
in interfaceReactiveStreamsCrudRepository<E,ID>
- Returns:
- all entities
-
count
@NonNull reactor.core.publisher.Mono<java.lang.Long> count()
Description copied from interface:ReactiveStreamsCrudRepository
Returns the number of entities available.- Specified by:
count
in interfaceReactiveStreamsCrudRepository<E,ID>
- Returns:
- the number of entities
-
deleteById
@NonNull reactor.core.publisher.Mono<java.lang.Long> deleteById(@NonNull @NotNull ID id)
Description copied from interface:ReactiveStreamsCrudRepository
Deletes the entity with the given id.- Specified by:
deleteById
in interfaceReactiveStreamsCrudRepository<E,ID>
- Parameters:
id
- must not be null.- Returns:
- A future that executes the delete operation
-
delete
@NonNull reactor.core.publisher.Mono<java.lang.Long> delete(@NonNull @NotNull E entity)
Description copied from interface:ReactiveStreamsCrudRepository
Deletes a given entity.- Specified by:
delete
in interfaceReactiveStreamsCrudRepository<E,ID>
- Parameters:
entity
- The entity to delete- Returns:
- A future that executes the delete operation
-
deleteAll
@NonNull reactor.core.publisher.Mono<java.lang.Long> deleteAll(@NonNull @NotNull @NotNull java.lang.Iterable<? extends E> entities)
Description copied from interface:ReactiveStreamsCrudRepository
Deletes the given entities.- Specified by:
deleteAll
in interfaceReactiveStreamsCrudRepository<E,ID>
- Parameters:
entities
- The entities to delete- Returns:
- A future that executes the delete operation
-
deleteAll
@NonNull reactor.core.publisher.Mono<java.lang.Long> deleteAll()
Description copied from interface:ReactiveStreamsCrudRepository
Deletes all entities managed by the repository.- Specified by:
deleteAll
in interfaceReactiveStreamsCrudRepository<E,ID>
- Returns:
- A future that executes the delete operation
-
-