Interface AsyncCrudRepository<E,ID>
-
- Type Parameters:
E
- The entity typeID
- The ID type
- All Superinterfaces:
GenericRepository<E,ID>
- All Known Subinterfaces:
AsyncPageableRepository<E,ID>
public interface AsyncCrudRepository<E,ID> extends GenericRepository<E,ID>
Asynchronous variation ofCrudRepository
.- Since:
- 1.0.0
- Author:
- graemerocher
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.util.concurrent.CompletableFuture<java.lang.Long>
count()
Returns the number of entities available.java.util.concurrent.CompletableFuture<java.lang.Void>
delete(E entity)
Deletes a given entity.java.util.concurrent.CompletableFuture<java.lang.Void>
deleteAll()
Deletes all entities managed by the repository.java.util.concurrent.CompletableFuture<java.lang.Void>
deleteAll(@NotNull java.lang.Iterable<? extends E> entities)
Deletes the given entities.java.util.concurrent.CompletableFuture<java.lang.Void>
deleteById(ID id)
Deletes the entity with the given id.java.util.concurrent.CompletableFuture<java.lang.Boolean>
existsById(ID id)
Returns whether an entity with the given id exists.java.util.concurrent.CompletableFuture<? extends java.lang.Iterable<E>>
findAll()
Returns all instances of the type.java.util.concurrent.CompletableFuture<E>
findById(ID id)
Retrieves an entity by its id.<S extends E>
java.util.concurrent.CompletableFuture<S>save(S entity)
Saves the given valid entity, returning a possibly new entity representing the saved state.<S extends E>
java.util.concurrent.CompletableFuture<? extends java.lang.Iterable<S>>saveAll(@Valid @NotNull java.lang.Iterable<S> entities)
Saves all given entities, possibly returning new instances representing the saved state.<S extends E>
java.util.concurrent.CompletableFuture<S>update(S entity)
This method issues an explicit update for the given entity.<S extends E>
java.util.concurrent.CompletableFuture<? extends java.lang.Iterable<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> java.util.concurrent.CompletableFuture<S> save(@Valid @NotNull @NonNull S entity)
Saves the given valid entity, returning a possibly new entity representing the saved state.- Type Parameters:
S
- The generic type- Parameters:
entity
- The entity to save. Must not be null.- Returns:
- The saved entity will never be null.
- Throws:
javax.validation.ConstraintViolationException
- if the entity is null or invalid.
-
update
@NonNull <S extends E> java.util.concurrent.CompletableFuture<S> update(@Valid @NotNull @NonNull S entity)
This method issues an explicit update for the given entity. The method differs fromsave(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.- Type Parameters:
S
- The generic type- Parameters:
entity
- The entity to updated. Must not be null.- Returns:
- The updated entity will never be null.
- Throws:
javax.validation.ConstraintViolationException
- if the entity is null or invalid.
-
updateAll
@NonNull <S extends E> java.util.concurrent.CompletableFuture<? extends java.lang.Iterable<S>> updateAll(@Valid @NotNull @NonNull @Valid @NotNull java.lang.Iterable<S> entities)
This method issues an explicit update for the given entities. The method differs fromsaveAll(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.- Type Parameters:
S
- The generic type- Parameters:
entities
- The entities to update. Must not be null.- Returns:
- The updating entity will never be null.
- Throws:
javax.validation.ConstraintViolationException
- if the entity is null or invalid.
-
saveAll
@NonNull <S extends E> java.util.concurrent.CompletableFuture<? extends java.lang.Iterable<S>> saveAll(@Valid @NotNull @NonNull @Valid @NotNull java.lang.Iterable<S> entities)
Saves all given entities, possibly returning new instances representing the saved state.- 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.
- Throws:
javax.validation.ConstraintViolationException
- if the entities are null.
-
findById
@NonNull java.util.concurrent.CompletableFuture<E> findById(@NotNull @NonNull ID id)
Retrieves an entity by its id.- Parameters:
id
- The ID of the entity to retrieve. Must not be null.- Returns:
- the entity with the given id or emits an
EmptyResultException
if it the entity is not found - Throws:
javax.validation.ConstraintViolationException
- if the id is null.EmptyResultException
- if no entity exists for the ID
-
existsById
@NonNull java.util.concurrent.CompletableFuture<java.lang.Boolean> existsById(@NotNull @NonNull ID id)
Returns whether an entity with the given id exists.- Parameters:
id
- must not be null.- Returns:
- true if an entity with the given id exists, false otherwise.
- Throws:
javax.validation.ConstraintViolationException
- if the id is null.
-
findAll
@NonNull java.util.concurrent.CompletableFuture<? extends java.lang.Iterable<E>> findAll()
Returns all instances of the type.- Returns:
- all entities
-
count
@NonNull java.util.concurrent.CompletableFuture<java.lang.Long> count()
Returns the number of entities available.- Returns:
- the number of entities
-
deleteById
@NonNull java.util.concurrent.CompletableFuture<java.lang.Void> deleteById(@NonNull @NotNull ID id)
Deletes the entity with the given id.- Parameters:
id
- must not be null.- Returns:
- A future that executes the delete operation
- Throws:
javax.validation.ConstraintViolationException
- if the entity is null.
-
delete
@NonNull java.util.concurrent.CompletableFuture<java.lang.Void> delete(@NonNull @NotNull E entity)
Deletes a given entity.- Parameters:
entity
- The entity to delete- Returns:
- A future that executes the delete operation
- Throws:
javax.validation.ConstraintViolationException
- if the entity is null.
-
deleteAll
@NonNull java.util.concurrent.CompletableFuture<java.lang.Void> deleteAll(@NonNull @NotNull @NotNull java.lang.Iterable<? extends E> entities)
Deletes the given entities.- Parameters:
entities
- The entities to delete- Returns:
- A future that executes the delete operation
- Throws:
javax.validation.ConstraintViolationException
- if the entity is null.
-
deleteAll
@NonNull java.util.concurrent.CompletableFuture<java.lang.Void> deleteAll()
Deletes all entities managed by the repository.- Returns:
- A future that executes the delete operation
-
-