Class MutateInOptions
public class MutateInOptions extends CommonDurabilityOptions<MutateInOptions>
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
MutateInOptions.Built
Nested classes/interfaces inherited from class com.couchbase.client.java.kv.CommonDurabilityOptions
CommonDurabilityOptions.BuiltCommonDurabilityOptions
Nested classes/interfaces inherited from class com.couchbase.client.java.CommonOptions
CommonOptions.BuiltCommonOptions
-
Method Summary
Modifier and Type Method 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.Methods inherited from class com.couchbase.client.java.kv.CommonDurabilityOptions
durability, durability
Methods inherited from class com.couchbase.client.java.CommonOptions
clientContext, parentSpan, retryStrategy, self, timeout
-
Method Details
-
mutateInOptions
-
expiry
Sets the expiry time for the document as a relative duration.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.- Parameters:
expiry
- the expiry time as a relative duration.- Returns:
- this
MutateInOptions
for chaining purposes.
-
expiry
Sets the expiry time for the document as a absolute duration.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.- Parameters:
expiry
- the expiry time as an absolute instant.- Returns:
- this
MutateInOptions
for chaining purposes.
-
cas
Specifies a CAS value that will be taken into account on the server side for optimistic concurrency.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.- Parameters:
cas
- the opaque CAS identifier to use for this operation.- Returns:
- the
MutateInOptions
for chaining purposes.
-
serializer
Customizes the serializer that is used to encoded the contents of this request.- Parameters:
serializer
- the serializer used for encoding.- Returns:
- this
MutateInOptions
for chaining purposes.
-
storeSemantics
Changes the storing semantics of the outer/enclosing document.While each individual
MutateInSpec
describes the semantics of the respective sub-document section, theStoreSemantics
are applied to the outer enclosing document as a whole. You can think of using the same verb for aStoreSemantic
aligns with the corresponding full document. So for example aStoreSemantics.INSERT
works semantically similar to aCollection.insert(String, Object)
and will fail if the document as a whole already exists.- Parameters:
storeSemantics
- the store semantics to apply to the document.- Returns:
- this
MutateInOptions
for chaining purposes.
-
accessDeleted
For internal use only: allows access to deleted documents that are in 'tombstone' form. -
createAsDeleted
For internal use only: allows creating documents in 'tombstone' form. -
build
-