Package io.oxia.client.api
Interface SyncOxiaClient
- All Superinterfaces:
AutoCloseable
Synchronous client for the Oxia service.
-
Method Summary
Modifier and TypeMethodDescriptionbooleanUnconditionally deletes the record associated with the key if the record exists.booleandelete(String key, Set<DeleteOption> options) Conditionally deletes the record associated with the key if the record exists, and the server's versionId of the record is as specified, at the instant when the delete is applied.voiddeleteRange(String startKeyInclusive, String endKeyExclusive) Deletes any records with keys within the specified range.voiddeleteRange(String startKeyInclusive, String endKeyExclusive, Set<DeleteRangeOption> options) Deletes any records with keys within the specified range.Returns the record associated with the specified key.Returns the record associated with the specified key.getSequenceUpdates(String key, Consumer<String> listener, Set<GetSequenceUpdatesOption> options) GetSequenceUpdates allows to subscribe to the updates happening on a sequential key The channel will report the current latest sequence for a given key.Lists any existing keys within the specified range.list(String startKeyInclusive, String endKeyExclusive, Set<ListOption> options) Lists any existing keys within the specified range.voidnotifications(Consumer<Notification> notificationCallback) Registers a callback to receive Oxiarecord change notifications.Associates a value with a key if the server's versionId of the record is as specified, at the instant when the put is applied.Conditionally associates a value with a key if the server's versionId of the record is as specified, at the instant when the put is applied.Scan any existing records within the specified range of keys.rangeScan(String startKeyInclusive, String endKeyExclusive, Set<RangeScanOption> options) Scan any existing records within the specified range of keys.Methods inherited from interface java.lang.AutoCloseable
close
-
Method Details
-
put
Associates a value with a key if the server's versionId of the record is as specified, at the instant when the put is applied.- Parameters:
key- The key with which the value should be associated.value- The value to associate with the key.- Returns:
- The result of the put at the specified key.
-
put
Conditionally associates a value with a key if the server's versionId of the record is as specified, at the instant when the put is applied. The put will not be applied if the server's versionId of the record does not match the expectation set in the call.- Parameters:
key- The key with which the value should be associated.value- The value to associate with the key.options- Setoptionsfor the put.- Returns:
- The result of the put at the specified key.
- Throws:
UnexpectedVersionIdException- The versionId at the server did not that match supplied in the call.
-
delete
Unconditionally deletes the record associated with the key if the record exists.- Parameters:
key- Deletes the record with the specified key.- Returns:
- True if the key was actually present on the server, false otherwise.
-
delete
Conditionally deletes the record associated with the key if the record exists, and the server's versionId of the record is as specified, at the instant when the delete is applied. The delete will not be applied if the server's versionId of the record does not match the expectation set in the call.- Parameters:
key- Deletes the record with the specified key.options- Setoptionsfor the delete.- Returns:
- True if the key was actually present on the server, false otherwise.
- Throws:
UnexpectedVersionIdException- The versionId at the server did not that match supplied in the call.
-
deleteRange
Deletes any records with keys within the specified range. For more information on how keys are sorted, check the relevant section in the Oxia documentation.- Parameters:
startKeyInclusive- The key that declares start of the range, and is included from the range.endKeyExclusive- The key that declares the end of the range, and is excluded from the range.
-
deleteRange
Deletes any records with keys within the specified range. For more information on how keys are sorted, check the relevant section in the Oxia documentation.- Parameters:
startKeyInclusive- The key that declares start of the range, and is included from the range.endKeyExclusive- The key that declares the end of the range, and is excluded from the range.options- Setoptionsfor the delete range.
-
get
Returns the record associated with the specified key. The returned value includes the value, and other metadata.- Parameters:
key- The key associated with the record to be fetched.- Returns:
- The value associated with the supplied key, or
nullif the key did not exist.
-
get
Returns the record associated with the specified key. The returned value includes the value, and other metadata.- Parameters:
key- The key associated with the record to be fetched.options- Setoptionsfor the get operation.- Returns:
- The value associated with the supplied key, or
nullif the key did not exist.
-
list
Lists any existing keys within the specified range. For more information on how keys are sorted, check the relevant section in the Oxia documentation.- Parameters:
startKeyInclusive- The key that declares start of the range, and is included from the range.endKeyExclusive- The key that declares the end of the range, and is excluded from the range.- Returns:
- The list of keys that exist within the specified range, or an empty list if there were none.
-
list
Lists any existing keys within the specified range. For more information on how keys are sorted, check the relevant section in the Oxia documentation.- Parameters:
startKeyInclusive- The key that declares start of the range, and is included from the range.endKeyExclusive- The key that declares the end of the range, and is excluded from the range.options- Setoptionsfor the list operation.- Returns:
- The list of keys that exist within the specified range, or an empty list if there were none.
-
rangeScan
Scan any existing records within the specified range of keys.- Parameters:
startKeyInclusive- The key that declares start of the range, and is included from the range.endKeyExclusive- The key that declares the end of the range, and is excluded from the range.- Returns:
- An iterable object that will provide all the records and their version objects.
-
rangeScan
Iterable<GetResult> rangeScan(String startKeyInclusive, String endKeyExclusive, Set<RangeScanOption> options) Scan any existing records within the specified range of keys.- Parameters:
startKeyInclusive- The key that declares start of the range, and is included from the range.endKeyExclusive- The key that declares the end of the range, and is excluded from the range.options- the range scan options- Returns:
- An iterable object that will provide all the records and their version objects.
-
notifications
Registers a callback to receive Oxiarecord change notifications. Multiple callbacks can be registered.- Parameters:
notificationCallback- A callback to receive notifications.
-
getSequenceUpdates
Closeable getSequenceUpdates(String key, Consumer<String> listener, Set<GetSequenceUpdatesOption> options) GetSequenceUpdates allows to subscribe to the updates happening on a sequential key The channel will report the current latest sequence for a given key. Multiple updates can be collapsed into one single event with the highest sequence.- Parameters:
key- The key to subscribe to.listener- The listener to receive the updates.options- The options to use for the subscription.- Returns:
- A handle to close the subscription.
-