public class MutateInOptions extends CommonDurabilityOptions<MutateInOptions>
Modifier and Type | Class and Description |
---|---|
class |
MutateInOptions.Built |
CommonDurabilityOptions.BuiltCommonDurabilityOptions
CommonOptions.BuiltCommonOptions
Modifier and Type | Method and Description |
---|---|
MutateInOptions |
accessDeleted(boolean accessDeleted)
For internal use only: allows access to deleted documents that are in 'tombstone' form.
|
MutateInOptions.Built |
build() |
MutateInOptions |
cas(long cas)
Specifies a CAS value that will be taken into account on the server side for optimistic concurrency.
|
MutateInOptions |
createAsDeleted(boolean createAsDeleted)
For internal use only: allows creating documents in 'tombstone' form.
|
MutateInOptions |
expiry(Duration expiry)
Sets the expiry time for the document as a relative duration.
|
MutateInOptions |
expiry(Instant expiry)
Sets the expiry time for the document as a absolute duration.
|
static MutateInOptions |
mutateInOptions() |
MutateInOptions |
serializer(JsonSerializer serializer)
Customizes the serializer that is used to encoded the contents of this request.
|
MutateInOptions |
storeSemantics(StoreSemantics storeSemantics)
Changes the storing semantics of the outer/enclosing document.
|
durability, durability
clientContext, parentSpan, retryStrategy, self, timeout
public static MutateInOptions mutateInOptions()
public MutateInOptions expiry(Duration expiry)
IMPORTANT: we recommend using a relative duration only if the provided value is less than 30 days. The reason
is that the server will assume any value larger than that to be an absolute unix timestamp. The SDK tries its
best to coerce it into sane values, but to avoid any unexpected behavior please stick to the less than 30 days
as a relative duration. For every expiry > 30 days, please provide it as an absolute instant through the
expiry(Instant)
overload.
expiry
- the expiry time as a relative duration.MutateInOptions
for chaining purposes.public MutateInOptions expiry(Instant expiry)
Note that the absolute instant will be converted into a unix timestamp in seconds before sending it over the
wire to the server. If you need to provide a relative duration you can use expiry(Duration)
but please
see its javadoc for common pitfalls and edge cases. If in doubt, please provide it as an absolute instant on this
overload.
expiry
- the expiry time as an absolute instant.MutateInOptions
for chaining purposes.public MutateInOptions cas(long cas)
The CAS value is an opaque identifier which is associated with a specific state of the document on the server. The CAS value is received on read operations (or after mutations) and can be used during a subsequent mutation to make sure that the document has not been modified in the meantime.
If document on the server has been modified in the meantime the SDK will raise a CasMismatchException
. In
this case the caller is expected to re-do the whole "fetch-modify-update" cycle again. Please refer to the
SDK documentation for more information on CAS mismatches and subsequent retries.
cas
- the opaque CAS identifier to use for this operation.MutateInOptions
for chaining purposes.public MutateInOptions serializer(JsonSerializer serializer)
serializer
- the serializer used for encoding.MutateInOptions
for chaining purposes.public MutateInOptions storeSemantics(StoreSemantics storeSemantics)
While each individual MutateInSpec
describes the semantics of the respective sub-document section, the
StoreSemantics
are applied to the outer enclosing document as a whole. You can think of using the same
verb for a StoreSemantic
aligns with the corresponding full document. So for example a
StoreSemantics.INSERT
works semantically similar to a
Collection.insert(String, Object)
and will fail if the document as a whole
already exists.
storeSemantics
- the store semantics to apply to the document.MutateInOptions
for chaining purposes.@Stability.Internal public MutateInOptions accessDeleted(boolean accessDeleted)
@Stability.Internal public MutateInOptions createAsDeleted(boolean createAsDeleted)
@Stability.Internal public MutateInOptions.Built build()
Copyright © 2021 Couchbase, Inc.. All rights reserved.