Package oracle.nosql.driver

# Class Durability

java.lang.Object
oracle.nosql.driver.Durability

public class Durability extends Object
Defines the durability characteristics associated with a standalone write (put or update) operation.

This is currently only supported in On-Prem installations. It is ignored in the cloud service.

The overall durability is a function of the `Durability.SyncPolicy` and `Durability.ReplicaAckPolicy` in effect for the Master, and the `Durability.SyncPolicy` in effect for each Replica.

Since:
  5.3.0

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static enum`
  `Durability.ReplicaAckPolicy`
  A replicated environment makes it possible to increase an application's transaction commit guarantees by committing changes to its replicas on the network.
  `static enum`
  `Durability.SyncPolicy`
  Defines the synchronization policy to be used when committing a transaction.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final Durability`
  `COMMIT_NO_SYNC`
  A convenience constant that defines a durability policy with COMMIT_NO_SYNC for Master commit synchronization.
  `static final Durability`
  `COMMIT_SYNC`
  A convenience constant that defines a durability policy with COMMIT_SYNC for Master commit synchronization.
  `static final Durability`
  `COMMIT_WRITE_NO_SYNC`
  A convenience constant that defines a durability policy with COMMIT_WRITE_NO_SYNC for Master commit synchronization.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Durability(Durability.SyncPolicy masterSync, Durability.SyncPolicy replicaSync, Durability.ReplicaAckPolicy replicaAck)`
  Creates an instance of a Durability specification.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `equals(Object obj)`
  `Durability.SyncPolicy`
  `getMasterSync()`
  Returns the transaction synchronization policy to be used on the Master when committing a transaction.
  `Durability.ReplicaAckPolicy`
  `getReplicaAck()`
  Returns the replica acknowledgment policy used by the master when committing changes to a replicated environment.
  `Durability.SyncPolicy`
  `getReplicaSync()`
  Returns the transaction synchronization policy to be used by the replica as it replays a transaction that needs an acknowledgment.
  `int`
  `hashCode()`
  `String`
  `toString()`

  ### Methods inherited from class java.lang.Object

  `getClass, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### COMMIT_SYNC

    public static final Durability COMMIT_SYNC
    A convenience constant that defines a durability policy with COMMIT_SYNC for Master commit synchronization. The policies default to COMMIT_NO_SYNC for commits of replicated transactions that need acknowledgment and SIMPLE_MAJORITY for the acknowledgment policy.

  - ### COMMIT_NO_SYNC

    public static final Durability COMMIT_NO_SYNC
    A convenience constant that defines a durability policy with COMMIT_NO_SYNC for Master commit synchronization. The policies default to COMMIT_NO_SYNC for commits of replicated transactions that need acknowledgment and SIMPLE_MAJORITY for the acknowledgment policy.

  - ### COMMIT_WRITE_NO_SYNC

    public static final Durability COMMIT_WRITE_NO_SYNC
    A convenience constant that defines a durability policy with COMMIT_WRITE_NO_SYNC for Master commit synchronization. The policies default to COMMIT_NO_SYNC for commits of replicated transactions that need acknowledgment and SIMPLE_MAJORITY for the acknowledgment policy.

- ## Constructor Details

  - ### Durability

    public Durability(Durability.SyncPolicy masterSync, Durability.SyncPolicy replicaSync, Durability.ReplicaAckPolicy replicaAck)
    Creates an instance of a Durability specification.
    Parameters:
      `masterSync` - the SyncPolicy to be used when committing the transaction on the Master.
      `replicaSync` - the SyncPolicy to be used remotely, as part of a transaction acknowledgment, at a Replica node.
      `replicaAck` - the acknowledgment policy used when obtaining transaction acknowledgments from Replicas.

- ## Method Details

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`

  - ### getMasterSync

    public Durability.SyncPolicy getMasterSync()
    Returns the transaction synchronization policy to be used on the Master when committing a transaction.
    Returns:
      the master transaction synchronization policy

  - ### getReplicaSync

    public Durability.SyncPolicy getReplicaSync()
    Returns the transaction synchronization policy to be used by the replica as it replays a transaction that needs an acknowledgment.
    Returns:
      the replica transaction synchronization policy

  - ### getReplicaAck

    public Durability.ReplicaAckPolicy getReplicaAck()
    Returns the replica acknowledgment policy used by the master when committing changes to a replicated environment.
    Returns:
      the replica acknowledgment policy

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `Object`

  - ### equals

    public boolean equals(Object obj)
    Overrides:
      `equals` in class `Object`