Class ReactiveAerospikeTemplate

java.lang.Object
org.springframework.data.aerospike.core.ReactiveAerospikeTemplate
All Implemented Interfaces:
ReactiveAerospikeOperations

public class ReactiveAerospikeTemplate extends Object implements ReactiveAerospikeOperations
Primary implementation of ReactiveAerospikeOperations.
Author:
Igor Ermolenko, Volodymyr Shpynta, Yevhen Tsyba
  • Constructor Summary

    Constructors
    Constructor
    Description
    ReactiveAerospikeTemplate(com.aerospike.client.reactor.IAerospikeReactorClient reactorClient, String namespace, MappingAerospikeConverter converter, AerospikeMappingContext mappingContext, AerospikeExceptionTranslator exceptionTranslator, ReactorQueryEngine queryEngine, ReactorIndexRefresher reactorIndexRefresher)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    <T> reactor.core.publisher.Mono<T>
    add(T document, String binName, long value)
    Reactively add integer/double bin value to existing document bin value, read the new modified document and map it back the given document class type.
    <T> reactor.core.publisher.Mono<T>
    add(T document, Map<String,Long> values)
    Reactively add integer/double bin values to existing document bin values, read the new modified document and map it back the given document class type.
    <T> reactor.core.publisher.Mono<T>
    append(T document, String binName, String value)
    Reactively append bin string value to existing document bin value, read the new modified document and map it back the given document class type.
    <T> reactor.core.publisher.Mono<T>
    append(T document, Map<String,String> values)
    Reactively append bin string values to existing document bin values, read the new modified document and map it back the given document class type.
    <T> reactor.core.publisher.Mono<Long>
    count(Class<T> entityClass)
    Reactively return the amount of documents in the given entityClass's Aerospike set.
    reactor.core.publisher.Mono<Long>
    count(String setName)
    Reactively return the amount of documents in the given Aerospike set.
    <T> reactor.core.publisher.Mono<Long>
    count(Query query, Class<T> entityClass)
    Reactively return the amount of documents in a query results. set name will be determined by the given entityClass.
    <T> reactor.core.publisher.Mono<Void>
    createIndex(Class<T> entityClass, String indexName, String binName, com.aerospike.client.query.IndexType indexType)
    Reactively create index by specified name in Aerospike.
    <T> reactor.core.publisher.Mono<Void>
    createIndex(Class<T> entityClass, String indexName, String binName, com.aerospike.client.query.IndexType indexType, com.aerospike.client.query.IndexCollectionType indexCollectionType)
    Reactively create index by specified name in Aerospike.
    <T> reactor.core.publisher.Mono<Void>
    createIndex(Class<T> entityClass, String indexName, String binName, com.aerospike.client.query.IndexType indexType, com.aerospike.client.query.IndexCollectionType indexCollectionType, com.aerospike.client.cdt.CTX... ctx)
    Reactively create index by specified name in Aerospike.
    <T> reactor.core.publisher.Mono<Void>
    delete(Class<T> entityClass)
    Reactively truncate/delete all the documents in the given entity's set.
    <T> reactor.core.publisher.Mono<Boolean>
    delete(Object id, Class<T> entityClass)
    Reactively delete document by id, set name will be determined by the given entityClass.
    <T> reactor.core.publisher.Mono<Boolean>
    delete(T document)
    Reactively delete document.
    <T> reactor.core.publisher.Mono<Void>
    deleteIndex(Class<T> entityClass, String indexName)
    Reactively delete index by specified name from Aerospike.
    <T> reactor.core.publisher.Mono<T>
    execute(Supplier<T> supplier)
    Reactively execute operation against underlying store.
    <T> reactor.core.publisher.Mono<Boolean>
    exists(Object id, Class<T> entityClass)
    Reactively check if document exists by providing document id and entityClass (set name will be determined by the given entityClass).
    <T> reactor.core.publisher.Flux<T>
    find(Query query, Class<T> entityClass)
    Reactively find documents in the given entityClass's set using a query and map them to the given class type.
    <T, S> reactor.core.publisher.Flux<S>
    find(Query query, Class<T> entityClass, Class<S> targetClass)
    Reactively find documents in the given entityClass's set using a query and map them to the given target class type.
    <T> reactor.core.publisher.Flux<T>
    findAll(Class<T> entityClass)
    Reactively find all documents in the given entityClass's set and map them to the given class type.
    <T, S> reactor.core.publisher.Flux<S>
    findAll(Class<T> entityClass, Class<S> targetClass)
    Reactively find all documents in the given entityClass's set and map them to the given target class type.
    <T> reactor.core.publisher.Flux<T>
    findAll(Sort sort, long offset, long limit, Class<T> entityClass)
    Reactively find all documents in the given entityClass's set using a provided sort and map them to the given class type.
    <T, S> reactor.core.publisher.Flux<S>
    findAll(Sort sort, long offset, long limit, Class<T> entityClass, Class<S> targetClass)
    Reactively find all documents in the given entityClass's set using a provided sort and map them to the given target class type.
    <T> reactor.core.publisher.Mono<T>
    findById(Object id, Class<T> entityClass)
    Reactively find a document by id, set name will be determined by the given entityClass.
    <T, S> reactor.core.publisher.Mono<S>
    findById(Object id, Class<T> entityClass, Class<S> targetClass)
    Reactively find a document by id, set name will be determined by the given entityClass.
    <T> reactor.core.publisher.Flux<T>
    findByIds(Iterable<?> ids, Class<T> entityClass)
    Reactively find documents by providing multiple ids using a single batch read operation, set name will be determined by the given entityClass.
    <T, S> reactor.core.publisher.Flux<S>
    findByIds(Iterable<?> ids, Class<T> entityClass, Class<S> targetClass)
    Reactively find documents by providing multiple ids using a single batch read operation, set name will be determined by the given entityClass.
    reactor.core.publisher.Mono<GroupedEntities>
    findByIds(GroupedKeys groupedKeys)
    Reactively executes a single batch request to get results for several entities.
    <T> reactor.core.publisher.Flux<T>
    findInRange(long offset, long limit, Sort sort, Class<T> entityClass)
    Reactively find documents in the given entityClass's set using a range (offset, limit) and a sort and map them to the given class type.
    <T, S> reactor.core.publisher.Flux<S>
    findInRange(long offset, long limit, Sort sort, Class<T> entityClass, Class<S> targetClass)
    Reactively find documents in the given entityClass's set using a range (offset, limit) and a sort and map them to the given target class type.
    com.aerospike.client.reactor.IAerospikeReactorClient
     
     
     
    <T> String
    getSetName(Class<T> entityClass)
     
    reactor.core.publisher.Mono<Boolean>
    indexExists(String indexName)
    Check whether an index with the specified name exists in Aerospike.
    <T> reactor.core.publisher.Mono<T>
    insert(T document)
    Reactively insert document using RecordExistsAction.CREATE_ONLY policy.
    <T> reactor.core.publisher.Flux<T>
    insertAll(Collection<? extends T> documents)
    Reactively insert each document of the given documents using single insert operations.
    <T> reactor.core.publisher.Mono<T>
    prepend(T document, String binName, String value)
    Reactively prepend bin string value to existing document bin value, read the new modified document and map it back the given document class type.
    <T> reactor.core.publisher.Mono<T>
    prepend(T document, Map<String,String> values)
    Reactively prepend bin string values to existing document bin values, read the new modified document and map it back the given document class type.
    <T> reactor.core.publisher.Mono<T>
    save(T document)
    Reactively save document.
    <T> reactor.core.publisher.Mono<T>
    update(T document)
    Reactively update document using RecordExistsAction.UPDATE_ONLY policy combined with removing bins at first (analogous to RecordExistsAction.REPLACE_ONLY) taking into consideration the version property of the document if it is present.
    <T> reactor.core.publisher.Mono<T>
    update(T document, Collection<String> fields)
    Reactively update document specific fields based on a given collection of fields. using RecordExistsAction.UPDATE_ONLY policy - You can instantiate the document with only relevant fields and specify the list of fields that you want to update. taking into consideration the version property of the document if it is present.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.springframework.data.aerospike.core.ReactiveAerospikeOperations

    getMappingContext
  • Constructor Details

  • Method Details

    • save

      public <T> reactor.core.publisher.Mono<T> save(T document)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively save document.

      If document has version property - CAS algorithm is used for updating record. Version property is used for deciding whether to create new record or update existing. If version is set to zero - new record will be created, creation will fail is such record already exists. If version is greater than zero - existing record will be updated with RecordExistsAction.UPDATE_ONLY policy combined with removing bins at first (analogous to RecordExistsAction.REPLACE_ONLY) taking into consideration the version property of the document. Version property will be updated with the server's version after successful operation.

      If document does not have version property - record is updated with RecordExistsAction.UPDATE policy combined with removing bins at first (analogous to RecordExistsAction.REPLACE). This means that when such record does not exist it will be created, otherwise updated - an "upsert".

      Specified by:
      save in interface ReactiveAerospikeOperations
      Parameters:
      document - The document to save. Must not be null.
      Returns:
      A Mono of the new saved document.
    • insertAll

      public <T> reactor.core.publisher.Flux<T> insertAll(Collection<? extends T> documents)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively insert each document of the given documents using single insert operations.
      Specified by:
      insertAll in interface ReactiveAerospikeOperations
      Parameters:
      documents - The documents to insert. Must not be null.
      Returns:
      A Flux of the new inserted documents.
    • insert

      public <T> reactor.core.publisher.Mono<T> insert(T document)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively insert document using RecordExistsAction.CREATE_ONLY policy.

      If document has version property it will be updated with the server's version after successful operation.

      Specified by:
      insert in interface ReactiveAerospikeOperations
      Parameters:
      document - The document to insert. Must not be null.
      Returns:
      A Mono of the new inserted document.
    • update

      public <T> reactor.core.publisher.Mono<T> update(T document)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively update document using RecordExistsAction.UPDATE_ONLY policy combined with removing bins at first (analogous to RecordExistsAction.REPLACE_ONLY) taking into consideration the version property of the document if it is present.

      If document has version property it will be updated with the server's version after successful operation.

      Specified by:
      update in interface ReactiveAerospikeOperations
      Parameters:
      document - The document to update. Must not be null.
      Returns:
      A Mono of the new updated document.
    • update

      public <T> reactor.core.publisher.Mono<T> update(T document, Collection<String> fields)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively update document specific fields based on a given collection of fields. using RecordExistsAction.UPDATE_ONLY policy - You can instantiate the document with only relevant fields and specify the list of fields that you want to update. taking into consideration the version property of the document if it is present.

      If document has version property it will be updated with the server's version after successful operation.

      Specified by:
      update in interface ReactiveAerospikeOperations
      Parameters:
      document - The document to update. Must not be null.
      Returns:
      A Mono of the new updated document.
    • findAll

      public <T> reactor.core.publisher.Flux<T> findAll(Class<T> entityClass)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively find all documents in the given entityClass's set and map them to the given class type.
      Specified by:
      findAll in interface ReactiveAerospikeOperations
      Parameters:
      entityClass - The class to extract the Aerospike set from and to map the documents to. Must not be null.
      Returns:
      A Flux of matching documents, returned documents will be mapped to entityClass's type.
    • findAll

      public <T, S> reactor.core.publisher.Flux<S> findAll(Class<T> entityClass, Class<S> targetClass)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively find all documents in the given entityClass's set and map them to the given target class type.
      Specified by:
      findAll in interface ReactiveAerospikeOperations
      Parameters:
      entityClass - The class to extract the Aerospike set from. Must not be null.
      targetClass - The class to map the document to. Must not be null.
      Returns:
      A Flux of matching documents, returned documents will be mapped to targetClass's type.
    • findAll

      public <T> reactor.core.publisher.Flux<T> findAll(Sort sort, long offset, long limit, Class<T> entityClass)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively find all documents in the given entityClass's set using a provided sort and map them to the given class type.
      Specified by:
      findAll in interface ReactiveAerospikeOperations
      Parameters:
      sort - The sort to affect the returned iterable documents order.
      offset - The offset to start the range from.
      limit - The limit of the range.
      entityClass - The class to extract the Aerospike set from and to map the documents to.
      Returns:
      A Flux of matching documents, returned documents will be mapped to entityClass's type.
    • findAll

      public <T, S> reactor.core.publisher.Flux<S> findAll(Sort sort, long offset, long limit, Class<T> entityClass, Class<S> targetClass)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively find all documents in the given entityClass's set using a provided sort and map them to the given target class type.
      Specified by:
      findAll in interface ReactiveAerospikeOperations
      Parameters:
      sort - The sort to affect the returned iterable documents order.
      offset - The offset to start the range from.
      limit - The limit of the range.
      entityClass - The class to extract the Aerospike set from.
      targetClass - The class to map the document to. Must not be null.
      Returns:
      A Flux of matching documents, returned documents will be mapped to targetClass's type.
    • add

      public <T> reactor.core.publisher.Mono<T> add(T document, Map<String,Long> values)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively add integer/double bin values to existing document bin values, read the new modified document and map it back the given document class type.
      Specified by:
      add in interface ReactiveAerospikeOperations
      Parameters:
      document - The document to extract the Aerospike set from and to map the documents to. Must not be null.
      values - a Map of bin names and values to add. Must not be null.
      Returns:
      A Mono of the modified document after add operations.
    • add

      public <T> reactor.core.publisher.Mono<T> add(T document, String binName, long value)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively add integer/double bin value to existing document bin value, read the new modified document and map it back the given document class type.
      Specified by:
      add in interface ReactiveAerospikeOperations
      Parameters:
      document - The document to extract the Aerospike set from and to map the documents to. Must not be null.
      binName - Bin name to use add operation on. Must not be null.
      value - The value to add.
      Returns:
      A Mono of the modified document after add operation.
    • append

      public <T> reactor.core.publisher.Mono<T> append(T document, Map<String,String> values)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively append bin string values to existing document bin values, read the new modified document and map it back the given document class type.
      Specified by:
      append in interface ReactiveAerospikeOperations
      Parameters:
      document - The document to extract the Aerospike set from and to map the documents to. Must not be null.
      values - a Map of bin names and values to append. Must not be null.
      Returns:
      A Mono of the modified document after append operations.
    • append

      public <T> reactor.core.publisher.Mono<T> append(T document, String binName, String value)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively append bin string value to existing document bin value, read the new modified document and map it back the given document class type.
      Specified by:
      append in interface ReactiveAerospikeOperations
      Parameters:
      document - The document to extract the Aerospike set from and to map the documents to. Must not be null.
      binName - Bin name to use append operation on.
      value - The value to append.
      Returns:
      A Mono of the modified document after append operation.
    • prepend

      public <T> reactor.core.publisher.Mono<T> prepend(T document, Map<String,String> values)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively prepend bin string values to existing document bin values, read the new modified document and map it back the given document class type.
      Specified by:
      prepend in interface ReactiveAerospikeOperations
      Parameters:
      document - The document to extract the Aerospike set from and to map the documents to. Must not be null.
      values - a Map of bin names and values to prepend. Must not be null.
      Returns:
      A Mono of the modified document after prepend operations.
    • prepend

      public <T> reactor.core.publisher.Mono<T> prepend(T document, String binName, String value)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively prepend bin string value to existing document bin value, read the new modified document and map it back the given document class type.
      Specified by:
      prepend in interface ReactiveAerospikeOperations
      Parameters:
      document - The document to extract the Aerospike set from and to map the documents to. Must not be null.
      binName - Bin name to use prepend operation on.
      value - The value to prepend.
      Returns:
      A Mono of the modified document after prepend operation.
    • findById

      public <T> reactor.core.publisher.Mono<T> findById(Object id, Class<T> entityClass)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively find a document by id, set name will be determined by the given entityClass.

      Document will be mapped to the given entityClass.

      Specified by:
      findById in interface ReactiveAerospikeOperations
      Parameters:
      id - The id of the document to find. Must not be null.
      entityClass - The class to extract the Aerospike set from and to map the document to. Must not be null.
      Returns:
      A Mono of the matching document, returned document will be mapped to entityClass's type.
    • findById

      public <T, S> reactor.core.publisher.Mono<S> findById(Object id, Class<T> entityClass, Class<S> targetClass)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively find a document by id, set name will be determined by the given entityClass.

      Document will be mapped to the given targetClass.

      Specified by:
      findById in interface ReactiveAerospikeOperations
      Parameters:
      id - The id of the document to find. Must not be null.
      entityClass - The class to extract the Aerospike set from. Must not be null.
      targetClass - The class to map the document to. Must not be null.
      Returns:
      A Mono of the matching document, returned document will be mapped to targetClass's type.
    • findByIds

      public <T> reactor.core.publisher.Flux<T> findByIds(Iterable<?> ids, Class<T> entityClass)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively find documents by providing multiple ids using a single batch read operation, set name will be determined by the given entityClass.

      Documents will be mapped to the given entityClass.

      Specified by:
      findByIds in interface ReactiveAerospikeOperations
      Parameters:
      ids - The ids of the documents to find. Must not be null.
      entityClass - The class to extract the Aerospike set from and to map the documents to. Must not be null.
      Returns:
      A Flux of matching documents, returned documents will be mapped to entityClass's type.
    • findByIds

      public <T, S> reactor.core.publisher.Flux<S> findByIds(Iterable<?> ids, Class<T> entityClass, Class<S> targetClass)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively find documents by providing multiple ids using a single batch read operation, set name will be determined by the given entityClass.

      Documents will be mapped to the given targetClass.

      Specified by:
      findByIds in interface ReactiveAerospikeOperations
      Parameters:
      ids - The ids of the documents to find. Must not be null.
      entityClass - The class to extract the Aerospike set from. Must not be null.
      targetClass - The class to map the document to. Must not be null.
      Returns:
      A Flux of matching documents, returned documents will be mapped to targetClass's type.
    • findByIds

      public reactor.core.publisher.Mono<GroupedEntities> findByIds(GroupedKeys groupedKeys)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively executes a single batch request to get results for several entities.

      Aerospike provides functionality to get documents from different sets in 1 batch request. The methods allow to put grouped keys by entity type as parameter and get result as spring data aerospike entities grouped by entity type.

      Specified by:
      findByIds in interface ReactiveAerospikeOperations
      Parameters:
      groupedKeys - Must not be null.
      Returns:
      Mono of grouped entities.
    • find

      public <T> reactor.core.publisher.Flux<T> find(Query query, Class<T> entityClass)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively find documents in the given entityClass's set using a query and map them to the given class type.
      Specified by:
      find in interface ReactiveAerospikeOperations
      Parameters:
      query - The query to filter results. Must not be null.
      entityClass - The class to extract the Aerospike set from and to map the documents to. Must not be null.
      Returns:
      A Flux of matching documents, returned documents will be mapped to entityClass's type.
    • find

      public <T, S> reactor.core.publisher.Flux<S> find(Query query, Class<T> entityClass, Class<S> targetClass)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively find documents in the given entityClass's set using a query and map them to the given target class type.
      Specified by:
      find in interface ReactiveAerospikeOperations
      Parameters:
      query - The query to filter results. Must not be null.
      entityClass - The class to extract the Aerospike set from. Must not be null.
      targetClass - The class to map the document to. Must not be null.
      Returns:
      A Flux of matching documents, returned documents will be mapped to targetClass's type.
    • findInRange

      public <T> reactor.core.publisher.Flux<T> findInRange(long offset, long limit, Sort sort, Class<T> entityClass)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively find documents in the given entityClass's set using a range (offset, limit) and a sort and map them to the given class type.
      Specified by:
      findInRange in interface ReactiveAerospikeOperations
      Parameters:
      offset - The offset to start the range from.
      limit - The limit of the range.
      sort - The sort to affect the order of the returned Stream of documents.
      entityClass - The class to extract the Aerospike set from and to map the documents to. Must not be null.
      Returns:
      A Flux of matching documents, returned documents will be mapped to entityClass's type.
    • findInRange

      public <T, S> reactor.core.publisher.Flux<S> findInRange(long offset, long limit, Sort sort, Class<T> entityClass, Class<S> targetClass)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively find documents in the given entityClass's set using a range (offset, limit) and a sort and map them to the given target class type.
      Specified by:
      findInRange in interface ReactiveAerospikeOperations
      Parameters:
      offset - The offset to start the range from.
      limit - The limit of the range.
      sort - The sort to affect the returned Stream of documents order.
      entityClass - The class to extract the Aerospike set from. Must not be null.
      targetClass - The class to map the document to. Must not be null.
      Returns:
      A Flux of matching documents, returned documents will be mapped to targetClass's type.
    • count

      public <T> reactor.core.publisher.Mono<Long> count(Query query, Class<T> entityClass)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively return the amount of documents in a query results. set name will be determined by the given entityClass.
      Specified by:
      count in interface ReactiveAerospikeOperations
      Parameters:
      query - The query that provides the result set for count.
      entityClass - entityClass The class to extract the Aerospike set from. Must not be null.
      Returns:
      A Mono of the amount of documents that the given query and entity class supplied.
    • count

      public reactor.core.publisher.Mono<Long> count(String setName)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively return the amount of documents in the given Aerospike set.
      Specified by:
      count in interface ReactiveAerospikeOperations
      Parameters:
      setName - The name of the set to count. Must not be null.
      Returns:
      A Mono of the amount of documents in the given set.
    • count

      public <T> reactor.core.publisher.Mono<Long> count(Class<T> entityClass)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively return the amount of documents in the given entityClass's Aerospike set.
      Specified by:
      count in interface ReactiveAerospikeOperations
      Parameters:
      entityClass - The class to extract the Aerospike set from. Must not be null.
      Returns:
      A Mono of the amount of documents in the set (of the given entityClass).
    • execute

      public <T> reactor.core.publisher.Mono<T> execute(Supplier<T> supplier)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively execute operation against underlying store.
      Specified by:
      execute in interface ReactiveAerospikeOperations
      Parameters:
      supplier - must not be null.
      Returns:
      A Mono of the execution result.
    • exists

      public <T> reactor.core.publisher.Mono<Boolean> exists(Object id, Class<T> entityClass)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively check if document exists by providing document id and entityClass (set name will be determined by the given entityClass).
      Specified by:
      exists in interface ReactiveAerospikeOperations
      Parameters:
      id - The id to check if exists. Must not be null.
      entityClass - The class to extract the Aerospike set from. Must not be null.
      Returns:
      A Mono of whether the document exists.
    • delete

      public <T> reactor.core.publisher.Mono<Void> delete(Class<T> entityClass)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively truncate/delete all the documents in the given entity's set.
      Specified by:
      delete in interface ReactiveAerospikeOperations
      Parameters:
      entityClass - The class to extract the Aerospike set from. Must not be null.
    • delete

      public <T> reactor.core.publisher.Mono<Boolean> delete(Object id, Class<T> entityClass)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively delete document by id, set name will be determined by the given entityClass.
      Specified by:
      delete in interface ReactiveAerospikeOperations
      Parameters:
      id - The id of the document to delete. Must not be null.
      entityClass - The class to extract the Aerospike set from. Must not be null.
      Returns:
      A Mono of whether the document existed on server before deletion.
    • delete

      public <T> reactor.core.publisher.Mono<Boolean> delete(T document)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively delete document.
      Specified by:
      delete in interface ReactiveAerospikeOperations
      Parameters:
      document - The document to delete. Must not be null.
      Returns:
      A Mono of whether the document existed on server before deletion.
    • createIndex

      public <T> reactor.core.publisher.Mono<Void> createIndex(Class<T> entityClass, String indexName, String binName, com.aerospike.client.query.IndexType indexType)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively create index by specified name in Aerospike.
      Specified by:
      createIndex in interface ReactiveAerospikeOperations
      Parameters:
      entityClass - The class to extract the Aerospike set from. Must not be null.
      indexName - The index name. Must not be null.
      binName - The bin name to create the index on. Must not be null.
      indexType - The type of the index. Must not be null.
    • createIndex

      public <T> reactor.core.publisher.Mono<Void> createIndex(Class<T> entityClass, String indexName, String binName, com.aerospike.client.query.IndexType indexType, com.aerospike.client.query.IndexCollectionType indexCollectionType)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively create index by specified name in Aerospike.
      Specified by:
      createIndex in interface ReactiveAerospikeOperations
      Parameters:
      entityClass - The class to extract the Aerospike set from. Must not be null.
      indexName - The index name. Must not be null.
      binName - The bin name to create the index on. Must not be null.
      indexType - The type of the index. Must not be null.
      indexCollectionType - The collection type of the index. Must not be null.
    • createIndex

      public <T> reactor.core.publisher.Mono<Void> createIndex(Class<T> entityClass, String indexName, String binName, com.aerospike.client.query.IndexType indexType, com.aerospike.client.query.IndexCollectionType indexCollectionType, com.aerospike.client.cdt.CTX... ctx)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively create index by specified name in Aerospike.
      Specified by:
      createIndex in interface ReactiveAerospikeOperations
      Parameters:
      entityClass - The class to extract the Aerospike set from. Must not be null.
      indexName - The index name. Must not be null.
      binName - The bin name to create the index on. Must not be null.
      indexType - The type of the index. Must not be null.
      indexCollectionType - The collection type of the index. Must not be null.
      ctx - optional context to index on elements within a CDT.
    • deleteIndex

      public <T> reactor.core.publisher.Mono<Void> deleteIndex(Class<T> entityClass, String indexName)
      Description copied from interface: ReactiveAerospikeOperations
      Reactively delete index by specified name from Aerospike.
      Specified by:
      deleteIndex in interface ReactiveAerospikeOperations
      Parameters:
      entityClass - The class to extract the Aerospike set from. Must not be null.
      indexName - The index name. Must not be null.
    • indexExists

      public reactor.core.publisher.Mono<Boolean> indexExists(String indexName)
      Description copied from interface: ReactiveAerospikeOperations
      Check whether an index with the specified name exists in Aerospike.
      Specified by:
      indexExists in interface ReactiveAerospikeOperations
      Parameters:
      indexName - The Aerospike index name. Must not be null.
      Returns:
      true if exists.
    • getAerospikeReactorClient

      public com.aerospike.client.reactor.IAerospikeReactorClient getAerospikeReactorClient()
      Specified by:
      getAerospikeReactorClient in interface ReactiveAerospikeOperations
      Returns:
      aerospike reactive client in use.
    • getSetName

      public <T> String getSetName(Class<T> entityClass)
    • getMappingContext

      public MappingContext<?,?> getMappingContext()
    • getNamespace

      public String getNamespace()