public class AsyncCollection extends Object
AsyncCollection
provides basic asynchronous access to all collection APIs.
This type of API provides asynchronous support through the concurrency mechanisms
that ship with Java 8 and later, notably the async CompletableFuture
. It is the
async mechanism with the lowest overhead (best performance) but also comes with less
bells and whistles as the ReactiveCollection
for example.
Most of the time we recommend using the ReactiveCollection
unless you need the
last drop of performance or if you are implementing higher level primitives on top of this
one.
Modifier and Type | Method and Description |
---|---|
AsyncBinaryCollection |
binary()
Provides access to the binary APIs, not used for JSON documents.
|
String |
bucketName()
Returns the name of the bucket associated with this collection.
|
Core |
core()
Provides access to the underlying
Core . |
ClusterEnvironment |
environment()
Provides access to the underlying
ClusterEnvironment . |
CompletableFuture<ExistsResult> |
exists(String id)
Checks if the given document ID exists on the active partition with default options.
|
CompletableFuture<ExistsResult> |
exists(String id,
ExistsOptions options)
Checks if the given document ID exists on the active partition with custom options.
|
CompletableFuture<GetResult> |
get(String id)
Fetches a full document (or a projection of it) from a collection with default options.
|
CompletableFuture<GetResult> |
get(String id,
GetOptions options)
Fetches a full document (or a projection of it) from a collection with custom options.
|
CompletableFuture<List<CompletableFuture<GetReplicaResult>>> |
getAllReplicas(String id)
Reads from all available replicas and the active node and returns the results as a list
of futures that might complete or fail.
|
CompletableFuture<List<CompletableFuture<GetReplicaResult>>> |
getAllReplicas(String id,
GetAllReplicasOptions options)
Reads from replicas or the active node based on the options and returns the results as a list
of futures that might complete or fail.
|
CompletableFuture<GetResult> |
getAndLock(String id,
Duration lockTime)
Fetches a full document and write-locks it for the given duration with default options.
|
CompletableFuture<GetResult> |
getAndLock(String id,
Duration lockTime,
GetAndLockOptions options)
Fetches a full document and write-locks it for the given duration with custom options.
|
CompletableFuture<GetResult> |
getAndTouch(String id,
Duration expiry)
Fetches a full document and resets its expiration time to the value provided with default
options.
|
CompletableFuture<GetResult> |
getAndTouch(String id,
Duration expiry,
GetAndTouchOptions options)
Fetches a full document and resets its expiration time to the value provided with custom
options.
|
CompletableFuture<GetReplicaResult> |
getAnyReplica(String id)
Reads all available replicas, and returns the first found.
|
CompletableFuture<GetReplicaResult> |
getAnyReplica(String id,
GetAnyReplicaOptions options)
Reads all available replicas, and returns the first found.
|
CompletableFuture<MutationResult> |
insert(String id,
Object content)
Inserts a full document which does not exist yet with default options.
|
CompletableFuture<MutationResult> |
insert(String id,
Object content,
InsertOptions options)
Inserts a full document which does not exist yet with custom options.
|
CompletableFuture<LookupInResult> |
lookupIn(String id,
List<LookupInSpec> specs)
Performs lookups to document fragments with default options.
|
CompletableFuture<LookupInResult> |
lookupIn(String id,
List<LookupInSpec> specs,
LookupInOptions options)
Performs lookups to document fragments with custom options.
|
CompletableFuture<MutateInResult> |
mutateIn(String id,
List<MutateInSpec> specs)
Performs mutations to document fragments with default options.
|
CompletableFuture<MutateInResult> |
mutateIn(String id,
List<MutateInSpec> specs,
MutateInOptions options)
Performs mutations to document fragments with custom options.
|
String |
name()
The name of the collection in use.
|
CompletableFuture<MutationResult> |
remove(String id)
Removes a Document from a collection with default options.
|
CompletableFuture<MutationResult> |
remove(String id,
RemoveOptions options)
Removes a Document from a collection with custom options.
|
CompletableFuture<MutationResult> |
replace(String id,
Object content)
Replaces a full document which already exists with default options.
|
CompletableFuture<MutationResult> |
replace(String id,
Object content,
ReplaceOptions options)
Replaces a full document which already exists with custom options.
|
String |
scopeName()
Returns the name of the scope associated with this collection.
|
CompletableFuture<MutationResult> |
touch(String id,
Duration expiry)
Updates the expiry of the document with the given id with default options.
|
CompletableFuture<MutationResult> |
touch(String id,
Duration expiry,
TouchOptions options)
Updates the expiry of the document with the given id with custom options.
|
CompletableFuture<Void> |
unlock(String id,
long cas)
Unlocks a document if it has been locked previously, with default options.
|
CompletableFuture<Void> |
unlock(String id,
long cas,
UnlockOptions options)
Unlocks a document if it has been locked previously, with custom options.
|
CompletableFuture<MutationResult> |
upsert(String id,
Object content)
Upserts a full document which might or might not exist yet with default options.
|
CompletableFuture<MutationResult> |
upsert(String id,
Object content,
UpsertOptions options)
Upserts a full document which might or might not exist yet with custom options.
|
@Stability.Volatile public Core core()
Core
.public ClusterEnvironment environment()
ClusterEnvironment
.public String name()
public String bucketName()
public String scopeName()
public AsyncBinaryCollection binary()
AsyncBinaryCollection
.public CompletableFuture<GetResult> get(String id)
id
- the document id which is used to uniquely identify it.CompletableFuture
indicating once loaded or failed.public CompletableFuture<GetResult> get(String id, GetOptions options)
id
- the document id which is used to uniquely identify it.options
- custom options to change the default behavior.CompletableFuture
completing once loaded or failed.public CompletableFuture<GetResult> getAndLock(String id, Duration lockTime)
Note that the client does not enforce an upper limit on the Duration
lockTime. The maximum lock time
by default on the server is 30 seconds. Any value larger than 30 seconds will be capped down by the server to
the default lock time, which is 15 seconds unless modified on the server side.
id
- the document id which is used to uniquely identify it.lockTime
- how long to write-lock the document for (any duration > 30s will be capped to server default of 15s).CompletableFuture
completing once loaded or failed.public CompletableFuture<GetResult> getAndLock(String id, Duration lockTime, GetAndLockOptions options)
Note that the client does not enforce an upper limit on the Duration
lockTime. The maximum lock time
by default on the server is 30 seconds. Any value larger than 30 seconds will be capped down by the server to
the default lock time, which is 15 seconds unless modified on the server side.
id
- the document id which is used to uniquely identify it.lockTime
- how long to write-lock the document for (any duration > 30s will be capped to server default of 15s).options
- custom options to change the default behavior.CompletableFuture
completing once loaded or failed.public CompletableFuture<GetResult> getAndTouch(String id, Duration expiry)
id
- the document id which is used to uniquely identify it.expiry
- the new expiration time for the document.CompletableFuture
completing once loaded or failed.public CompletableFuture<GetResult> getAndTouch(String id, Duration expiry, GetAndTouchOptions options)
id
- the document id which is used to uniquely identify it.expiry
- the new expiration time for the document.options
- custom options to change the default behavior.CompletableFuture
completing once loaded or failed.public CompletableFuture<List<CompletableFuture<GetReplicaResult>>> getAllReplicas(String id)
id
- the document id.public CompletableFuture<List<CompletableFuture<GetReplicaResult>>> getAllReplicas(String id, GetAllReplicasOptions options)
id
- the document id.public CompletableFuture<GetReplicaResult> getAnyReplica(String id)
id
- the document id.public CompletableFuture<GetReplicaResult> getAnyReplica(String id, GetAnyReplicaOptions options)
id
- the document id.options
- the custom options.public CompletableFuture<ExistsResult> exists(String id)
id
- the document IDCompletableFuture
completing once loaded or failed.public CompletableFuture<ExistsResult> exists(String id, ExistsOptions options)
id
- the document IDoptions
- to modify the default behaviorCompletableFuture
completing once loaded or failed.public CompletableFuture<MutationResult> remove(String id)
id
- the id of the document to remove.CompletableFuture
completing once removed or failed.public CompletableFuture<MutationResult> remove(String id, RemoveOptions options)
id
- the id of the document to remove.options
- custom options to change the default behavior.CompletableFuture
completing once removed or failed.public CompletableFuture<MutationResult> insert(String id, Object content)
id
- the document id to insert.content
- the document content to insert.CompletableFuture
completing once inserted or failed.public CompletableFuture<MutationResult> insert(String id, Object content, InsertOptions options)
id
- the document id to insert.content
- the document content to insert.options
- custom options to customize the insert behavior.CompletableFuture
completing once inserted or failed.public CompletableFuture<MutationResult> upsert(String id, Object content)
id
- the document id to upsert.content
- the document content to upsert.CompletableFuture
completing once upserted or failed.public CompletableFuture<MutationResult> upsert(String id, Object content, UpsertOptions options)
id
- the document id to upsert.content
- the document content to upsert.options
- custom options to customize the upsert behavior.CompletableFuture
completing once upserted or failed.public CompletableFuture<MutationResult> replace(String id, Object content)
id
- the document id to replace.content
- the document content to replace.CompletableFuture
completing once replaced or failed.public CompletableFuture<MutationResult> replace(String id, Object content, ReplaceOptions options)
id
- the document id to replace.content
- the document content to replace.options
- custom options to customize the replace behavior.CompletableFuture
completing once replaced or failed.public CompletableFuture<MutationResult> touch(String id, Duration expiry)
id
- the id of the document to update.expiry
- the new expiry for the document.MutationResult
once the operation completes.public CompletableFuture<MutationResult> touch(String id, Duration expiry, TouchOptions options)
id
- the id of the document to update.expiry
- the new expiry for the document.options
- the custom options.MutationResult
once the operation completes.public CompletableFuture<Void> unlock(String id, long cas)
id
- the id of the document.cas
- the CAS value which is needed to unlock it.public CompletableFuture<Void> unlock(String id, long cas, UnlockOptions options)
id
- the id of the document.cas
- the CAS value which is needed to unlock it.options
- the options to customize.public CompletableFuture<LookupInResult> lookupIn(String id, List<LookupInSpec> specs)
id
- the outer document ID.specs
- the spec which specifies the type of lookups to perform.LookupInResult
once the lookup has been performed or failed.public CompletableFuture<LookupInResult> lookupIn(String id, List<LookupInSpec> specs, LookupInOptions options)
id
- the outer document ID.specs
- the spec which specifies the type of lookups to perform.options
- custom options to modify the lookup options.LookupInResult
once the lookup has been performed or failed.public CompletableFuture<MutateInResult> mutateIn(String id, List<MutateInSpec> specs)
id
- the outer document ID.specs
- the spec which specifies the type of mutations to perform.MutateInResult
once the mutation has been performed or failed.public CompletableFuture<MutateInResult> mutateIn(String id, List<MutateInSpec> specs, MutateInOptions options)
id
- the outer document ID.specs
- the spec which specifies the type of mutations to perform.options
- custom options to modify the mutation options.MutateInResult
once the mutation has been performed or failed.Copyright © 2021 Couchbase, Inc.. All rights reserved.