# Package oracle.nosql.driver.ops

Contains the input and response classes used for Oracle NoSQL Database operations. These include classes derived from `Request` and `Result`.

`Request` instances are parameter objects that hold required and optional state for a given request type and operation. Some parameters are defaulted based on the `NoSQLHandleConfig` and can be overridden in a specific request. Examples of these are timeouts and `Consistency`. Some parameters are required. For example, most requests require a table name for the target table, `NoSQLHandle.put(oracle.nosql.driver.ops.PutRequest)` requires a value, etc.

Validation of parameter state is not performed until the object is used in a request, so illegal state is not immediately detected.

`Result` instances represent return state for operations that succeed. All result instances contain information about throughput used by that operation if available, in the form of getReadUnits and getWriteUnits interfaces on the objects. When used against an on-premise service resource consumption information is not available and will be 0.

`Request` and `Result` instances are not thread-safe and not intended to be shared. `Request` can be reused and are not modified when used in operations, but they should not be modified while in use by the system.

- Class Summary
  Class | Description
  --- | ---
  DeleteRequest | Represents the input to a `NoSQLHandle.delete(oracle.nosql.driver.ops.DeleteRequest)` operation.
  DeleteResult | Represents the result of a `NoSQLHandle.delete(oracle.nosql.driver.ops.DeleteRequest)` operation.
  GetIndexesRequest | Represents the argument of a `NoSQLHandle.getIndexes(oracle.nosql.driver.ops.GetIndexesRequest)` operation which returns the information of a specific index or all indexes of the specified table, as returned in `GetIndexesResult`.
  GetIndexesResult | Represents the result of a `NoSQLHandle.getIndexes(oracle.nosql.driver.ops.GetIndexesRequest)` operation.
  GetIndexesResult.IndexInfo | IndexInfo represents the information about a single index including its name and field names.
  GetRequest | Represents the input to a `NoSQLHandle.get(oracle.nosql.driver.ops.GetRequest)` operation which returns a single row based on the specified key.
  GetResult | Represents the result of a `NoSQLHandle.get(oracle.nosql.driver.ops.GetRequest)` operation.
  GetTableRequest | Represents the argument of a `NoSQLHandle.getTable(oracle.nosql.driver.ops.GetTableRequest)` operation which returns static information associated with a table, as returned in `TableResult`.
  ListTablesRequest | Represents the argument of a `NoSQLHandle.listTables(oracle.nosql.driver.ops.ListTablesRequest)` operation which lists all available tables associated with the identity associated with the handle used for the operation.
  ListTablesResult | Represents the result of a `NoSQLHandle.listTables(oracle.nosql.driver.ops.ListTablesRequest)` operation.
  MultiDeleteRequest | Represents the input to a `NoSQLHandle.multiDelete(oracle.nosql.driver.ops.MultiDeleteRequest)` operation which can be used to delete a range of values that match the primary key and range provided.
  MultiDeleteResult | Represents the result of a `NoSQLHandle.multiDelete(oracle.nosql.driver.ops.MultiDeleteRequest)` operation.
  PreparedStatement | A class encapsulating a prepared query statement.
  PrepareRequest | A request that encapsulates a query prepare call.
  PrepareResult | The result of a prepare operation.
  PutRequest | Represents the input to a `NoSQLHandle.put(oracle.nosql.driver.ops.PutRequest)` operation.
  PutResult | Represents the result of a `NoSQLHandle.put(oracle.nosql.driver.ops.PutRequest)` operation.
  QueryRequest | A request that represents a query.
  QueryResult | QueryResult comprises a list of `MapValue` instances representing the query results.
  Request | A request is an abstract class used as a base for all requests types.
  Result | Result is a base class for result classes for all supported operations.
  RetryStats | A class that maintains stats on retries during a request.
  SystemRequest | On-premise only.
  SystemResult | On-premise only.
  SystemStatusRequest | On-premise only.
  TableLimits | Cloud service only.
  TableRequest | TableRequest is used to create, modify, and drop tables.
  TableResult | TableResult is returned from `NoSQLHandle.getTable(oracle.nosql.driver.ops.GetTableRequest)` and `NoSQLHandle.tableRequest(oracle.nosql.driver.ops.TableRequest)` operations.
  TableUsageRequest | Cloud service only.
  TableUsageResult | Cloud service only.
  TableUsageResult.TableUsage | TableUsage represents a single usage record, or slice, that includes information about read and write throughput consumed during that period as well as the current information regarding storage capacity.
  WriteMultipleRequest | Represents the input to a `NoSQLHandle.writeMultiple(oracle.nosql.driver.ops.WriteMultipleRequest)` operation.
  WriteMultipleResult | Represents the result of a `NoSQLHandle.writeMultiple(oracle.nosql.driver.ops.WriteMultipleRequest)` operation.
  WriteMultipleResult.OperationResult | The Result associated with the execution of an individual operation in the request.

- Enum Summary
  Enum | Description
  --- | ---
  PutRequest.Option | Specifies a condition for the put operation.
  SystemResult.State | On-premise only.
  TableLimits.CapacityMode | Table limits option
  TableResult.State | The current state of the table