Interface ReactorCrudRepository<E,​ID>

    • 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 interface ReactiveStreamsCrudRepository<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 interface ReactiveStreamsCrudRepository<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 from ReactiveStreamsCrudRepository.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 interface ReactiveStreamsCrudRepository<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 from ReactiveStreamsCrudRepository.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 interface ReactiveStreamsCrudRepository<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 interface ReactiveStreamsCrudRepository<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 interface ReactiveStreamsCrudRepository<E,​ID>
        Parameters:
        id - must not be null.
        Returns:
        true if an entity with the given id exists, false otherwise.
      • 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 interface ReactiveStreamsCrudRepository<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 interface ReactiveStreamsCrudRepository<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 interface ReactiveStreamsCrudRepository<E,​ID>
        Parameters:
        entities - The entities to delete
        Returns:
        A future that executes the delete operation