# Uses of Class
oracle.kv.Version

Packages that use Version
Package
Description
oracle.kv
This package contains the public API for using Oracle NoSQL Database.
oracle.kv.lob
The KVLargeObject interface defines the operations used to read and write Large Objects (LOBs) such as audio and video files.
oracle.kv.table
Table support for Oracle NoSQL Database.

- ## Uses of Version in oracle.kv

  Methods in oracle.kv that return Version
  Modifier and Type
  Method
  Description
  `static Version`
  Version.`fromByteArray(byte[] versionBytes)`
  Deserializes the given bytes that were returned earlier by `toByteArray()` and returns the resulting Version.
  `Version`
  OperationResult.`getNewVersion()`
  For a put operation, the version of the new key/value pair.
  `Version`
  OperationResult.`getPreviousVersion()`
  For a put or delete operation, the version of the previous value associated with the key.
  `Version`
  Consistency.Version.`getVersion()`
  Return the `Version` used to create this consistency policy.
  `Version`
  KeyValueVersion.`getVersion()`
  Returns the Version of the KV pair.
  `Version`
  ValueVersion.`getVersion()`
  Returns the Version of the KV pair.
  `Version`
  KVStore.`put(Key key, Value value)`
  Put a key/value pair, inserting or overwriting as appropriate.
  `Version`
  KVStore.`put(Key key, Value value, ReturnValueVersion prevValue, Durability durability, long timeout, TimeUnit timeoutUnit)`
  Put a key/value pair, inserting or overwriting as appropriate.
  `Version`
  KVStore.`putIfAbsent(Key key, Value value)`
  Put a key/value pair, but only if no value for the given key is present.
  `Version`
  KVStore.`putIfAbsent(Key key, Value value, ReturnValueVersion prevValue, Durability durability, long timeout, TimeUnit timeoutUnit)`
  Put a key/value pair, but only if no value for the given key is present.
  `Version`
  KVStore.`putIfPresent(Key key, Value value)`
  Put a key/value pair, but only if a value for the given key is present.
  `Version`
  KVStore.`putIfPresent(Key key, Value value, ReturnValueVersion prevValue, Durability durability, long timeout, TimeUnit timeoutUnit)`
  Put a key/value pair, but only if a value for the given key is present.
  `Version`
  KVStore.`putIfVersion(Key key, Value value, Version matchVersion)`
  Put a key/value pair, but only if the version of the existing value matches the matchVersion argument.
  `Version`
  KVStore.`putIfVersion(Key key, Value value, Version matchVersion, ReturnValueVersion prevValue, Durability durability, long timeout, TimeUnit timeoutUnit)`
  Put a key/value pair, but only if the version of the existing value matches the matchVersion argument.
  Methods in oracle.kv with parameters of type Version
  Modifier and Type
  Method
  Description
  `Operation`
  OperationFactory.`createDeleteIfVersion(Key key, Version version)`
  Create a Delete operation suitable for use as an argument to the `execute` method.
  `Operation`
  OperationFactory.`createDeleteIfVersion(Key key, Version version, ReturnValueVersion.Choice prevReturn, boolean abortIfUnsuccessful)`
  Create a Delete operation suitable for use as an argument to the `execute` method.
  `Operation`
  OperationFactory.`createPutIfVersion(Key key, Value value, Version version)`
  Create a Put operation suitable for use as an argument to the `execute` method.
  `Operation`
  OperationFactory.`createPutIfVersion(Key key, Value value, Version version, ReturnValueVersion.Choice prevReturn, boolean abortIfUnsuccessful)`
  Create a Put operation suitable for use as an argument to the `execute` method.
  `boolean`
  KVStore.`deleteIfVersion(Key key, Version matchVersion)`
  Delete a key/value pair, but only if the version of the existing value matches the matchVersion argument.
  `boolean`
  KVStore.`deleteIfVersion(Key key, Version matchVersion, ReturnValueVersion prevValue, Durability durability, long timeout, TimeUnit timeoutUnit)`
  Delete a key/value pair, but only if the version of the existing value matches the matchVersion argument.
  `Version`
  KVStore.`putIfVersion(Key key, Value value, Version matchVersion)`
  Put a key/value pair, but only if the version of the existing value matches the matchVersion argument.
  `Version`
  KVStore.`putIfVersion(Key key, Value value, Version matchVersion, ReturnValueVersion prevValue, Durability durability, long timeout, TimeUnit timeoutUnit)`
  Put a key/value pair, but only if the version of the existing value matches the matchVersion argument.
  `ValueVersion`
  ValueVersion.`setVersion(Version version)`
  Used internally to initialize the Version of the KV pair.
  Constructors in oracle.kv with parameters of type Version
  Modifier
  Constructor
  Description
  ``
  `ValueVersion(Value value, Version version)`
  Used internally to create an object with a value and version.
  ``
  `Version(Version version, long timeout, TimeUnit timeoutUnit)`
  Defines how current a Replica needs to be in terms of a specific write operation that was previously completed.

- ## Uses of Version in oracle.kv.lob

  Methods in oracle.kv.lob that return Version
  Modifier and Type
  Method
  Description
  `Version`
  KVLargeObject.`appendLOB(Key lobKey, InputStream lobAppendStream, Durability durability, long lobTimeout, TimeUnit timeoutUnit)`
  Appends to a value of an existing LOB key/value pair.
  `Version`
  InputStreamVersion.`getVersion()`
  Returns the Version of the InputStream and Version pair.
  `Version`
  KVLargeObject.`putLOB(Key lobKey, InputStream lobStream, Durability durability, long lobTimeout, TimeUnit timeoutUnit)`
  Put a key/LOB value pair, inserting new value or overwriting an existing pair as appropriate.
  `Version`
  KVLargeObject.`putLOBIfAbsent(Key lobKey, InputStream lobStream, Durability durability, long lobTimeout, TimeUnit timeoutUnit)`
  Put a key/LOB value pair, but only if the key either has no value or has a partially inserted or deleted LOB value present.
  `Version`
  KVLargeObject.`putLOBIfPresent(Key lobKey, InputStream lobStream, Durability durability, long lobTimeout, TimeUnit timeoutUnit)`
  Put a key/LOB value pair, but only if a complete value for the given key is present.
  Constructors in oracle.kv.lob with parameters of type Version
  Modifier
  Constructor
  Description
  ``
  `InputStreamVersion(InputStream inputStream, Version version)`
  Used internally to create an object with an inputStream and version.

- ## Uses of Version in oracle.kv.table

  Methods in oracle.kv.table that return Version
  Modifier and Type
  Method
  Description
  `Version`
  TableOperationResult.`getNewVersion()`
  For a put operation, the version of the new row.
  `Version`
  TableOperationResult.`getPreviousVersion()`
  For a put or delete operation, the version of the previous row associated with the key.
  `Version`
  Row.`getVersion()`
  Returns the Version for the row.
  `Version`
  TableAPI.`put(Row row, ReturnRow prevRow, WriteOptions writeOptions)`
  Puts a row into a table.
  `Version`
  TableAPI.`putIfAbsent(Row row, ReturnRow prevRow, WriteOptions writeOptions)`
  Puts a row into a table, but only if the row does not exist.
  `Version`
  TableAPI.`putIfPresent(Row row, ReturnRow prevRow, WriteOptions writeOptions)`
  Puts a row into a table, but only if the row already exists.
  `Version`
  TableAPI.`putIfVersion(Row row, Version matchVersion, ReturnRow prevRow, WriteOptions writeOptions)`
  Puts a row, but only if the version of the existing row matches the matchVersion argument.
  Methods in oracle.kv.table that return types with arguments of type Version
  Modifier and Type
  Method
  Description
  `CompletableFuture<Version>`
  TableAPI.`putAsync(Row row, ReturnRow prevRow, WriteOptions writeOptions)`
  Puts a row into a table, returning a future to manage the asynchronous operation.
  `CompletableFuture<Version>`
  TableAPI.`putIfAbsentAsync(Row row, ReturnRow prevRow, WriteOptions writeOptions)`
  Puts a row into a table, but only if the row does not exist, returning a future to manage the asynchronous operation.
  `CompletableFuture<Version>`
  TableAPI.`putIfPresentAsync(Row row, ReturnRow prevRow, WriteOptions writeOptions)`
  Puts a row into a table, but only if the row already exists, returning a future to manage the asynchronous operation.
  `CompletableFuture<Version>`
  TableAPI.`putIfVersionAsync(Row row, Version matchVersion, ReturnRow prevRow, WriteOptions writeOptions)`
  Puts a row, but only if the version of the existing row matches the `matchVersion` argument, returning a future to manage the asynchronous operation.
  Methods in oracle.kv.table with parameters of type Version
  Modifier and Type
  Method
  Description
  `TableOperation`
  TableOperationFactory.`createDeleteIfVersion(PrimaryKey key, Version versionMatch, ReturnRow.Choice prevReturn, boolean abortIfUnsuccessful)`
  Create a Delete operation suitable for use as an argument to the `execute` method.
  `TableOperation`
  TableOperationFactory.`createPutIfVersion(Row row, Version versionMatch, ReturnRow.Choice prevReturn, boolean abortIfUnsuccessful)`
  Create a Put operation suitable for use as an argument to the `execute` method.
  `boolean`
  TableAPI.`deleteIfVersion(PrimaryKey key, Version matchVersion, ReturnRow prevRow, WriteOptions writeOptions)`
  Deletes a row from a table but only if its version matches the one specified in matchVersion.
  `CompletableFuture<Boolean>`
  TableAPI.`deleteIfVersionAsync(PrimaryKey key, Version matchVersion, ReturnRow prevRow, WriteOptions writeOptions)`
  Deletes a row from a table, but only if its version matches the one specified in `matchVersion`, returning a future to manage the asynchronous operation.
  `Version`
  TableAPI.`putIfVersion(Row row, Version matchVersion, ReturnRow prevRow, WriteOptions writeOptions)`
  Puts a row, but only if the version of the existing row matches the matchVersion argument.
  `CompletableFuture<Version>`
  TableAPI.`putIfVersionAsync(Row row, Version matchVersion, ReturnRow prevRow, WriteOptions writeOptions)`
  Puts a row, but only if the version of the existing row matches the `matchVersion` argument, returning a future to manage the asynchronous operation.