Class TransactionSettingsReqeustControlProperties

  • All Implemented Interfaces:
    java.io.Serializable

    @Mutable
    @ThreadSafety(level=NOT_THREADSAFE)
    public final class TransactionSettingsReqeustControlProperties
    extends java.lang.Object
    implements java.io.Serializable
    This class defines a number of properties for use in conjunction with the TransactionSettingsRequestControl.
    NOTE: This class, and other classes within the com.unboundid.ldap.sdk.unboundidds package structure, are only supported for use against Ping Identity, UnboundID, and Nokia/Alcatel-Lucent 8661 server products. These classes provide support for proprietary functionality or for external specifications that are not considered stable or mature enough to be guaranteed to work in an interoperable way with other types of LDAP servers.
    See Also:
    Serialized Form
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      TransactionSettingsBackendLockBehavior getBackendExclusiveLockBehavior()
      Retrieves the backend exclusive lock behavior that should be used for the associated transaction, if specified.
      java.lang.Long getBackendLockTimeoutMillis()
      Retrieves the maximum length of time (in milliseconds) that the server may block while attempting to acquire the backend exclusive, single-writer, or scoped lock, if applicable.
      TransactionSettingsCommitDurability getCommitDurability()
      Retrieves the commit durability that should be used for the associated transaction, if specified.
      java.lang.Long getMaxTxnLockTimeoutMillis()
      Retrieves the maximum transaction lock timeout (in milliseconds) that should be used for the associated transaction, if specified.
      java.lang.Long getMinTxnLockTimeoutMillis()
      Retrieves the minimum transaction lock timeout (in milliseconds) that should be used for the associated transaction, if specified.
      java.lang.Integer getRetryAttempts()
      Retrieves the maximum number of times that the transaction may be retried if the initial attempt fails due to a lock conflict, if specified.
      boolean getReturnResponseControl()
      Indicates whether to return a response control with transaction-related information collected over the course of processing the associated operation.
      TransactionSettingsScopedLockDetails getScopedLockDetails()
      Retrieves details about the conditions under which to attempt to acquire a scoped lock, if any.
      TransactionSettingsBackendLockBehavior getSingleWriterLockBehavior()
      Retrieves the single-writer lock behavior that should be used for the associated transaction, if specified.
      java.lang.String getTransactionName()
      Retrieves the name to assign to the associated transaction, if specified.
      boolean replicateControl()
      Indicates whether the settings in this control should be considered when the operation is replicated to other servers in the topology.
      void setBackendExclusiveLockBehavior​(TransactionSettingsBackendLockBehavior backendExclusiveLockBehavior)
      Specifies the backend exclusive lock behavior that should be used for the associated transaction.
      void setBackendLockTimeoutMillis​(java.lang.Long backendLockTimeoutMillis)
      Specifies the maximum length of time (in milliseconds) that the server may block while attempting to acquire the backend exclusive, single-writer, or scoped lock.
      void setCommitDurability​(TransactionSettingsCommitDurability commitDurability)
      Specifies the commit durability that should be used for the associated transaction.
      void setMaxTxnLockTimeoutMillis​(java.lang.Long maxTxnLockTimeoutMillis)
      Specifies the maximum transaction lock timeout (in milliseconds) that should be used for the associated transaction.
      void setMinTxnLockTimeoutMillis​(java.lang.Long minTxnLockTimeoutMillis)
      Specifies the minimum transaction lock timeout (in milliseconds) that should be used for the associated transaction.
      void setReplicateControl​(boolean replicateControl)
      Specifies whether the settings in this control should be considered when the operation is replicated to other servers in the topology.
      void setRetryAttempts​(java.lang.Integer retryAttempts)
      Specifies the maximum number of times that the transaction may be retried if the initial attempt fails due to a lock conflict.
      void setReturnResponseControl​(boolean returnResponseControl)
      Indicates whether to return a response control with transaction-related information collected over the course of processing the associated operation.
      void setScopedLockDetails​(TransactionSettingsScopedLockDetails scopedLockDetails)
      Specifies details about the conditions under which to attempt to acquire a scoped lock.
      void setSingleWriterLockBehavior​(TransactionSettingsBackendLockBehavior singleWriterLockBehavior)
      Specifies the single-writer lock behavior that should be used for the associated transaction.
      void setTransactionName​(java.lang.String transactionName)
      Specifies the name to assign to the associated transaction.
      java.lang.String toString()
      Retrieves a string representation of the transaction settings request control properties.
      void toString​(java.lang.StringBuilder buffer)
      Appends a string representation of the transaction settings request control properties to the provided buffer.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Method Detail

      • getTransactionName

        @Nullable
        public java.lang.String getTransactionName()
        Retrieves the name to assign to the associated transaction, if specified.
        Returns:
        The name to assign to the associated transaction, or null if none has been specified.
      • setTransactionName

        public void setTransactionName​(@Nullable
                                       java.lang.String transactionName)
        Specifies the name to assign to the associated transaction.
        Parameters:
        transactionName - The name to assign to the associated transaction, or null if no transaction name should be used.
      • getCommitDurability

        @Nullable
        public TransactionSettingsCommitDurability getCommitDurability()
        Retrieves the commit durability that should be used for the associated transaction, if specified.
        Returns:
        The commit durability that should be used for the associated transaction, or null if none has been specified and the server should determine the commit durability.
      • setCommitDurability

        public void setCommitDurability​(@Nullable
                                        TransactionSettingsCommitDurability commitDurability)
        Specifies the commit durability that should be used for the associated transaction.
        Parameters:
        commitDurability - The commit durability that should be used for the associated transaction. It may be null if the server should determine the commit durability.
      • getBackendExclusiveLockBehavior

        @Nullable
        public TransactionSettingsBackendLockBehavior getBackendExclusiveLockBehavior()
        Retrieves the backend exclusive lock behavior that should be used for the associated transaction, if specified.
        Returns:
        The backend exclusive lock behavior that should be used for the associated transaction, or null if none has been specified and the server should determine the backend exclusive lock behavior.
      • setBackendExclusiveLockBehavior

        public void setBackendExclusiveLockBehavior​(@Nullable
                                                    TransactionSettingsBackendLockBehavior backendExclusiveLockBehavior)
        Specifies the backend exclusive lock behavior that should be used for the associated transaction.
        Parameters:
        backendExclusiveLockBehavior - The backend exclusive lock behavior that should be used for the associated transaction. It may be null if the server should determine the backend exclusive lock behavior.
      • getSingleWriterLockBehavior

        @Nullable
        public TransactionSettingsBackendLockBehavior getSingleWriterLockBehavior()
        Retrieves the single-writer lock behavior that should be used for the associated transaction, if specified.
        Returns:
        The single-writer lock behavior that should be used for the associated transaction, or null if none has been specified and the server should determine the backend exclusive lock behavior.
      • setSingleWriterLockBehavior

        public void setSingleWriterLockBehavior​(@Nullable
                                                TransactionSettingsBackendLockBehavior singleWriterLockBehavior)
        Specifies the single-writer lock behavior that should be used for the associated transaction.
        Parameters:
        singleWriterLockBehavior - The single-writer lock behavior that should be used for the associated transaction. It may be null if the server should determine the single-writer lock behavior.
      • getScopedLockDetails

        @Nullable
        public TransactionSettingsScopedLockDetails getScopedLockDetails()
        Retrieves details about the conditions under which to attempt to acquire a scoped lock, if any.
        Returns:
        Details about the conditions under which to attempt to acquire a scoped lock, or null if no attempt should be made to acquire a scoped lock.
      • setScopedLockDetails

        public void setScopedLockDetails​(@Nullable
                                         TransactionSettingsScopedLockDetails scopedLockDetails)
        Specifies details about the conditions under which to attempt to acquire a scoped lock.
        Parameters:
        scopedLockDetails - Details about the conditions under which to attempt to acquire a scoped lock. It may be null if no attempt should be made to acquire a scoped lock.
      • getBackendLockTimeoutMillis

        @Nullable
        public java.lang.Long getBackendLockTimeoutMillis()
        Retrieves the maximum length of time (in milliseconds) that the server may block while attempting to acquire the backend exclusive, single-writer, or scoped lock, if applicable.
        Returns:
        The backend lock timeout (in milliseconds) that should be used for the associated transaction, or null if none has been specified and the server should determine the backend lock timeout.
      • setBackendLockTimeoutMillis

        public void setBackendLockTimeoutMillis​(@Nullable
                                                java.lang.Long backendLockTimeoutMillis)
        Specifies the maximum length of time (in milliseconds) that the server may block while attempting to acquire the backend exclusive, single-writer, or scoped lock.
        Parameters:
        backendLockTimeoutMillis - The maximum length of time (in milliseconds) that the server may block while attempting to acquire the backend exclusive, single-writer, or scoped lock. It may be null if the server should automatically determine the backend lock timeout.
      • getRetryAttempts

        @Nullable
        public java.lang.Integer getRetryAttempts()
        Retrieves the maximum number of times that the transaction may be retried if the initial attempt fails due to a lock conflict, if specified.
        Returns:
        The maximum number of times that the transaction may be retried if the initial attempt fails due to a lock conflict, or null if none has been specified and the server should determine the number of retry attempts.
      • setRetryAttempts

        public void setRetryAttempts​(@Nullable
                                     java.lang.Integer retryAttempts)
        Specifies the maximum number of times that the transaction may be retried if the initial attempt fails due to a lock conflict.
        Parameters:
        retryAttempts - The maximum number of times that the transaction may be retried if the initial attempt fails due to a lock conflict. It may be null if the server should determine the number of retry attempts.
      • getMinTxnLockTimeoutMillis

        @Nullable
        public java.lang.Long getMinTxnLockTimeoutMillis()
        Retrieves the minimum transaction lock timeout (in milliseconds) that should be used for the associated transaction, if specified. This is the timeout value that will be used for the first attempt. Any subsequent attempts will have a lock timeout that is between the minimum and maximum timeout value.
        Returns:
        The minimum lock timeout (in milliseconds) that should be used for the associated transaction, or null if none has been specified and the server should determine the minimum transaction lock timeout.
      • setMinTxnLockTimeoutMillis

        public void setMinTxnLockTimeoutMillis​(@Nullable
                                               java.lang.Long minTxnLockTimeoutMillis)
        Specifies the minimum transaction lock timeout (in milliseconds) that should be used for the associated transaction. This is the timeout value that will be used for the first attempt. Any subsequent attempts will have a lock timeout that is between the minimum and maximum timeout value.
        Parameters:
        minTxnLockTimeoutMillis - The minimum lock timeout (in milliseconds) that should be used for the associated transaction. It may be null if the server should determine the minimum transaction lock timeout.
      • getMaxTxnLockTimeoutMillis

        @Nullable
        public java.lang.Long getMaxTxnLockTimeoutMillis()
        Retrieves the maximum transaction lock timeout (in milliseconds) that should be used for the associated transaction, if specified. The timeout to be used for any retries will be between the minimum and maximum lock timeout values.
        Returns:
        The maximum lock timeout (in milliseconds) that should be used for the associated transaction, or null if none has been specified and the server should determine the maximum transaction lock timeout.
      • setMaxTxnLockTimeoutMillis

        public void setMaxTxnLockTimeoutMillis​(@Nullable
                                               java.lang.Long maxTxnLockTimeoutMillis)
        Specifies the maximum transaction lock timeout (in milliseconds) that should be used for the associated transaction. The timeout to be used for any retries will be between the minimum and maximum lock timeout values.
        Parameters:
        maxTxnLockTimeoutMillis - The maximum lock timeout (in milliseconds) that should be used for the associated transaction. It may be null if the server should determine the maximum transaction lock timeout.
      • replicateControl

        public boolean replicateControl()
        Indicates whether the settings in this control should be considered when the operation is replicated to other servers in the topology.
        Returns:
        true if the control settings should be replicated, or false if not.
      • setReplicateControl

        public void setReplicateControl​(boolean replicateControl)
        Specifies whether the settings in this control should be considered when the operation is replicated to other servers in the topology.
        Parameters:
        replicateControl - Indicates whether the settings in this control should be considered when the operation is replicated to other servers in the topology.
      • getReturnResponseControl

        public boolean getReturnResponseControl()
        Indicates whether to return a response control with transaction-related information collected over the course of processing the associated operation.
        Returns:
        true if the server should return a response control with transaction-related information, or false if not.
      • setReturnResponseControl

        public void setReturnResponseControl​(boolean returnResponseControl)
        Indicates whether to return a response control with transaction-related information collected over the course of processing the associated operation.
        Parameters:
        returnResponseControl - Specifies whether the server should return a response control with transaction-related information.
      • toString

        @NotNull
        public java.lang.String toString()
        Retrieves a string representation of the transaction settings request control properties.
        Overrides:
        toString in class java.lang.Object
        Returns:
        A string representation of the transaction settings request control properties.
      • toString

        public void toString​(@NotNull
                             java.lang.StringBuilder buffer)
        Appends a string representation of the transaction settings request control properties to the provided buffer.
        Parameters:
        buffer - The buffer to which the string representation should be appended. It must not be null.