Interface AsyncCrudRepository<T,​ID>

  • Type Parameters:
    T - the domain type the repository manages
    ID - the type of the id of the entity the repository manages
    All Superinterfaces:
    org.springframework.data.repository.Repository<T,​ID>
    All Known Subinterfaces:
    CoherenceAsyncRepository<T,​ID>

    public interface AsyncCrudRepository<T,​ID>
    extends org.springframework.data.repository.Repository<T,​ID>
    Asynchronous version of CrudRepository.
    Since:
    3.0
    Author:
    Ryan Lubke
    • Method Detail

      • save

        <S extends TCompletableFuture<S> save​(S entity)
        Saves a given entity. Use the returned instance for further operations as the save operation might have changed the entity instance completely.
        Type Parameters:
        S - the entity type
        Parameters:
        entity - must not be null
        Returns:
        the saved entity; will never be null
        Throws:
        IllegalArgumentException - in case the given entity is null
      • saveAll

        <S extends TCompletableFuture<Iterable<S>> saveAll​(Iterable<S> entities)
        Saves all given entities.
        Type Parameters:
        S - the entity type
        Parameters:
        entities - must not be null nor must it contain null
        Returns:
        the saved entities; will never be null. The returned Iterable will have the same size as the Iterable passed as an argument
        Throws:
        IllegalArgumentException - in case the given entities or one of its entities is null
      • existsById

        CompletableFuture<Boolean> existsById​(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:
        IllegalArgumentException - if id is null
      • findAllById

        CompletableFuture<Iterable<T>> findAllById​(Iterable<ID> ids)
        Returns all instances of the type 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.

        Parameters:
        ids - must not be null nor contain any null values
        Returns:
        guaranteed to be not null. The size can be equal or less than the number of given ids
        Throws:
        IllegalArgumentException - in case the given ids or one of its items is null
      • count

        CompletableFuture<Long> count()
        Returns the number of entities available.
        Returns:
        the number of entities
      • deleteById

        CompletableFuture<Void> deleteById​(ID id)
        Deletes the entity with the given id.
        Parameters:
        id - must not be null
        Returns:
        a CompletableFuture that can be used to determine whether the operation completed
        Throws:
        IllegalArgumentException - in case the given id is null
      • delete

        CompletableFuture<Void> delete​(T entity)
        Deletes a given entity.
        Parameters:
        entity - must not be null
        Returns:
        a CompletableFuture that can be used to determine whether the operation completed
        Throws:
        IllegalArgumentException - in case the given entity is null
      • deleteAllById

        CompletableFuture<Void> deleteAllById​(Iterable<? extends ID> ids)
        Deletes all instances of the type T with the given IDs.
        Parameters:
        ids - must not be null. Must not contain null elements
        Returns:
        a CompletableFuture that can be used to determine whether the operation completed
        Throws:
        IllegalArgumentException - in case the given ids or one of its elements is null
      • deleteAll

        CompletableFuture<Void> deleteAll​(Iterable<? extends T> entities)
        Deletes the given entities.
        Parameters:
        entities - must not be null. Must not contain null elements
        Returns:
        a CompletableFuture that can be used to determine whether the operation completed
        Throws:
        IllegalArgumentException - in case the given entities or one of its entities is null
      • deleteAll

        CompletableFuture<Void> deleteAll()
        Deletes all entities managed by the repository.
        Returns:
        a CompletableFuture that can be used to determine whether the operation completed