com.unboundid.ldap.sdk
Interface ReadOnlyLDAPRequest

All Superinterfaces:
java.io.Serializable
All Known Subinterfaces:
ReadOnlyAddRequest, ReadOnlyCompareRequest, ReadOnlyDeleteRequest, ReadOnlyModifyDNRequest, ReadOnlyModifyRequest, ReadOnlySearchRequest
All Known Implementing Classes:
AddRequest, ANONYMOUSBindRequest, BindRequest, CancelExtendedRequest, ClearMissedNotificationChangesAlarmExtendedRequest, CompareRequest, ConsumeSingleUseTokenExtendedRequest, CRAMMD5BindRequest, DeleteNotificationDestinationExtendedRequest, DeleteNotificationSubscriptionExtendedRequest, DeleteRequest, DeliverOneTimePasswordExtendedRequest, DeliverPasswordResetTokenExtendedRequest, DeliverSingleUseTokenExtendedRequest, DIGESTMD5BindRequest, EndAdministrativeSessionExtendedRequest, EndBatchedTransactionExtendedRequest, EndInteractiveTransactionExtendedRequest, EndTransactionExtendedRequest, ExtendedRequest, EXTERNALBindRequest, GenericSASLBindRequest, GetBackupCompatibilityDescriptorExtendedRequest, GetChangelogBatchExtendedRequest, GetConfigurationExtendedRequest, GetConnectionIDExtendedRequest, GetPasswordQualityRequirementsExtendedRequest, GetSubtreeAccessibilityExtendedRequest, GetSupportedOTPDeliveryMechanismsExtendedRequest, GSSAPIBindRequest, IdentifyBackupCompatibilityProblemsExtendedRequest, LDAPRequest, ListConfigurationsExtendedRequest, ListNotificationSubscriptionsExtendedRequest, ModifyDNRequest, ModifyRequest, MultiUpdateExtendedRequest, PasswordModifyExtendedRequest, PasswordPolicyStateExtendedRequest, PLAINBindRequest, ReusableTOTPBindRequest, SASLBindRequest, SearchRequest, SetNotificationDestinationExtendedRequest, SetNotificationSubscriptionExtendedRequest, SetSubtreeAccessibilityExtendedRequest, SimpleBindRequest, SingleUseTOTPBindRequest, StartAdministrativeSessionExtendedRequest, StartBatchedTransactionExtendedRequest, StartInteractiveTransactionExtendedRequest, StartTLSExtendedRequest, StartTransactionExtendedRequest, StreamDirectoryValuesExtendedRequest, StreamProxyValuesExtendedRequest, UnboundIDCertificatePlusPasswordBindRequest, UnboundIDDeliveredOTPBindRequest, UnboundIDTOTPBindRequest, UpdatableLDAPRequest, ValidateTOTPPasswordExtendedRequest, WhoAmIExtendedRequest

@NotExtensible
@ThreadSafety(level=INTERFACE_NOT_THREADSAFE)
public interface ReadOnlyLDAPRequest
extends java.io.Serializable

This interface defines a set of methods that may be safely called in an LDAP request without altering its contents. This interface must not be implemented by any class outside of the LDAP SDK.

This interface does not inherently provide the assurance of thread safety for the methods that it exposes, because it is still possible for a thread referencing the object which implements this interface to alter the request using methods not included in this interface. However, if it can be guaranteed that no thread will alter the underlying object, then the methods exposed by this interface can be safely invoked concurrently by any number of threads.


Method Summary
 LDAPRequest duplicate()
          Creates a new instance of this LDAP request that may be modified without impacting this request.
 LDAPRequest duplicate(Control[] controls)
          Creates a new instance of this LDAP request that may be modified without impacting this request.
 boolean followReferrals(LDAPConnection connection)
          Indicates whether to automatically follow any referrals encountered while processing this request.
 Control getControl(java.lang.String oid)
          Retrieves the control with the specified OID from this request.
 java.util.List<Control> getControlList()
          Retrieves a list containing the set of controls for this request.
 long getResponseTimeoutMillis(LDAPConnection connection)
          Retrieves the maximum length of time in milliseconds that processing on this operation should be allowed to block while waiting for a response from the server.
 boolean hasControl()
          Indicates whether this request contains at least one control.
 boolean hasControl(java.lang.String oid)
          Indicates whether this request contains at least one control with the specified OID.
 java.lang.String toString()
          Retrieves a string representation of this request.
 void toString(java.lang.StringBuilder buffer)
          Appends a string representation of this request to the provided buffer.
 

Method Detail

getControlList

java.util.List<Control> getControlList()
Retrieves a list containing the set of controls for this request.

Returns:
A list containing the set of controls for this request.

hasControl

boolean hasControl()
Indicates whether this request contains at least one control.

Returns:
true if this request contains at least one control, or false if not.

hasControl

boolean hasControl(java.lang.String oid)
Indicates whether this request contains at least one control with the specified OID.

Parameters:
oid - The object identifier for which to make the determination. It must not be null.
Returns:
true if this request contains at least one control with the specified OID, or false if not.

getControl

Control getControl(java.lang.String oid)
Retrieves the control with the specified OID from this request. If this request has multiple controls with the specified OID, then the first will be returned.

Parameters:
oid - The object identifier for which to retrieve the corresponding control. It must not be null.
Returns:
The first control found with the specified OID, or null if no control with that OID is included in this request.

getResponseTimeoutMillis

long getResponseTimeoutMillis(LDAPConnection connection)
Retrieves the maximum length of time in milliseconds that processing on this operation should be allowed to block while waiting for a response from the server.

Parameters:
connection - The connection to use in order to retrieve the default value, if appropriate. It may be null to retrieve the request-specific timeout (which may be negative if no response-specific timeout has been set).
Returns:
The maximum length of time in milliseconds that processing on this operation should be allowed to block while waiting for a response from the server, or zero if no timeout should be enforced.

followReferrals

boolean followReferrals(LDAPConnection connection)
Indicates whether to automatically follow any referrals encountered while processing this request. If a value has been set for this request, then it will be returned. Otherwise, the default from the connection options for the provided connection will be used.

Parameters:
connection - The connection whose connection options may be used in the course of making the determination. It must not be null.
Returns:
true if any referrals encountered during processing should be automatically followed, or false if not.

duplicate

LDAPRequest duplicate()
Creates a new instance of this LDAP request that may be modified without impacting this request.

Returns:
A new instance of this LDAP request that may be modified without impacting this request.

duplicate

LDAPRequest duplicate(Control[] controls)
Creates a new instance of this LDAP request that may be modified without impacting this request. The provided controls will be used for the new request instead of duplicating the controls from this request.

Parameters:
controls - The set of controls to include in the duplicate request.
Returns:
A new instance of this LDAP request that may be modified without impacting this request.

toString

java.lang.String toString()
Retrieves a string representation of this request.

Overrides:
toString in class java.lang.Object
Returns:
A string representation of this request.

toString

void toString(java.lang.StringBuilder buffer)
Appends a string representation of this request to the provided buffer.

Parameters:
buffer - The buffer to which to append a string representation of this request.