Package com.unboundid.ldap.sdk
Class LDAPResult
- java.lang.Object
-
- com.unboundid.ldap.sdk.LDAPResult
-
- All Implemented Interfaces:
LDAPResponse,java.io.Serializable
- Direct Known Subclasses:
BindResult,CompareResult,ExtendedResult,SearchResult
@Extensible @NotMutable @ThreadSafety(level=COMPLETELY_THREADSAFE) public class LDAPResult extends java.lang.Object implements java.io.Serializable, LDAPResponse
This class provides a data structure for holding the elements that are common to most types of LDAP responses. The elements contained in an LDAP result include:- Result Code -- An integer value that provides information about the
status of the operation. See the
ResultCodeclass for information about a number of result codes defined in LDAP. - Diagnostic Message -- An optional string that may provide additional information about the operation. For example, if the operation failed, it may include information about the reason for the failure. It will often (but not always) be absent in the result for successful operations, and it may be absent in the result for failed operations.
- Matched DN -- An optional DN which specifies the entry that most closely matched the DN of a non-existent entry in the server. For example, if an operation failed because the target entry did not exist, then the matched DN field may specify the DN of the closest ancestor to that entry that does exist in the server.
- Referral URLs -- An optional set of LDAP URLs which refer to other directories and/or locations within the DIT in which the operation may be attempted. If multiple referral URLs are provided, then they should all be considered equivalent for the purpose of attempting the operation (e.g., the different URLs may simply refer to different servers in which the operation could be processed).
- Response Controls -- An optional set of controls included in the response from the server. If any controls are included, then they may provide additional information about the processing that was performed by the server.
Note that even though this class is marked with the @Extensible annotation type, it should not be directly subclassed by third-party code. Only theBindResultandExtendedResultsubclasses are actually intended to be extended by third-party code.- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from interface com.unboundid.ldap.protocol.LDAPResponse
NO_CONTROLS
-
-
Constructor Summary
Constructors Modifier Constructor Description LDAPResult(int messageID, ResultCode resultCode)Creates a new LDAP result object with the provided message ID and result code, and no other information.LDAPResult(int messageID, ResultCode resultCode, java.lang.String diagnosticMessage, java.lang.String matchedDN, java.lang.String[] referralURLs, Control[] responseControls)Creates a new LDAP result object with the provided information.LDAPResult(int messageID, ResultCode resultCode, java.lang.String diagnosticMessage, java.lang.String matchedDN, java.util.List<java.lang.String> referralURLs, java.util.List<Control> responseControls)Creates a new LDAP result object with the provided information.protectedLDAPResult(LDAPResult result)Creates a new LDAP result object based on the provided result.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringgetDiagnosticMessage()Retrieves the diagnostic message from the response, if available.java.lang.StringgetMatchedDN()Retrieves the matched DN from the response, if available.intgetMessageID()Retrieves the message ID for the LDAP message with which this LDAP result is associated.OperationTypegetOperationType()Retrieves the type of operation that triggered this result, if available.java.lang.String[]getReferralURLs()Retrieves the set of referral URLs from the response, if available.ControlgetResponseControl(java.lang.String oid)Retrieves the response control with the specified OID.Control[]getResponseControls()Retrieves the set of controls from the response, if available.ResultCodegetResultCode()Retrieves the result code from the response.java.lang.StringgetResultString()Retrieves a string representation of this LDAP result, consisting of the result code, diagnostic message (if present), matched DN (if present), and referral URLs (if present).booleanhasResponseControl()Indicates whether this result contains at least one control.booleanhasResponseControl(java.lang.String oid)Indicates whether this result contains at least one control with the specified OID.java.lang.StringtoString()Retrieves a string representation of this LDAP result.voidtoString(java.lang.StringBuilder buffer)Appends a string representation of this LDAP result to the provided buffer.
-
-
-
Constructor Detail
-
LDAPResult
protected LDAPResult(@NotNull LDAPResult result)
Creates a new LDAP result object based on the provided result.- Parameters:
result- The LDAP result object to use to initialize this result.
-
LDAPResult
public LDAPResult(int messageID, @NotNull ResultCode resultCode)
Creates a new LDAP result object with the provided message ID and result code, and no other information.- Parameters:
messageID- The message ID for the LDAP message that is associated with this LDAP result.resultCode- The result code from the response.
-
LDAPResult
public LDAPResult(int messageID, @NotNull ResultCode resultCode, @Nullable java.lang.String diagnosticMessage, @Nullable java.lang.String matchedDN, @Nullable java.lang.String[] referralURLs, @Nullable Control[] responseControls)
Creates a new LDAP result object with the provided information.- Parameters:
messageID- The message ID for the LDAP message that is associated with this LDAP result.resultCode- The result code from the response.diagnosticMessage- The diagnostic message from the response, if available.matchedDN- The matched DN from the response, if available.referralURLs- The set of referral URLs from the response, if available.responseControls- The set of controls from the response, if available.
-
LDAPResult
public LDAPResult(int messageID, @NotNull ResultCode resultCode, @Nullable java.lang.String diagnosticMessage, @Nullable java.lang.String matchedDN, @Nullable java.util.List<java.lang.String> referralURLs, @Nullable java.util.List<Control> responseControls)
Creates a new LDAP result object with the provided information.- Parameters:
messageID- The message ID for the LDAP message that is associated with this LDAP result.resultCode- The result code from the response.diagnosticMessage- The diagnostic message from the response, if available.matchedDN- The matched DN from the response, if available.referralURLs- The set of referral URLs from the response, if available.responseControls- The set of controls from the response, if available.
-
-
Method Detail
-
getMessageID
public final int getMessageID()
Retrieves the message ID for the LDAP message with which this LDAP result is associated.- Specified by:
getMessageIDin interfaceLDAPResponse- Returns:
- The message ID for the LDAP message with which this LDAP result is associated.
-
getOperationType
@Nullable public final OperationType getOperationType()
Retrieves the type of operation that triggered this result, if available.- Returns:
- The type of operation that triggered this result, or
nullif the operation type is not available. Retrieves the BER type for the LDAP protocol op from which this
-
getResultCode
@NotNull public final ResultCode getResultCode()
Retrieves the result code from the response.- Returns:
- The result code from the response.
-
getDiagnosticMessage
@Nullable public final java.lang.String getDiagnosticMessage()
Retrieves the diagnostic message from the response, if available.- Returns:
- The diagnostic message from the response, or
nullif none was provided.
-
getMatchedDN
@Nullable public final java.lang.String getMatchedDN()
Retrieves the matched DN from the response, if available.- Returns:
- The matched DN from the response, or
nullif none was provided.
-
getReferralURLs
@NotNull public final java.lang.String[] getReferralURLs()
Retrieves the set of referral URLs from the response, if available.- Returns:
- The set of referral URLs from the response. The array returned may be empty if the response did not include any referral URLs.
-
getResponseControls
@NotNull public final Control[] getResponseControls()
Retrieves the set of controls from the response, if available. Individual response controls of a specific type may be retrieved and decoded using thegetmethod in the response control class.- Returns:
- The set of controls from the response. The array returned may be empty if the response did not include any controls.
-
hasResponseControl
public final boolean hasResponseControl()
Indicates whether this result contains at least one control.- Returns:
trueif this result contains at least one control, orfalseif not.
-
hasResponseControl
public final boolean hasResponseControl(@NotNull java.lang.String oid)
Indicates whether this result contains at least one control with the specified OID.- Parameters:
oid- The object identifier for which to make the determination. It must not benull.- Returns:
trueif this result contains at least one control with the specified OID, orfalseif not.
-
getResponseControl
@Nullable public final Control getResponseControl(@NotNull java.lang.String oid)
Retrieves the response control with the specified OID. If there is more than one response control with the specified OID, then the first will be returned.- Parameters:
oid- The OID for the response control to retrieve.- Returns:
- The requested response control, or
nullif there is no such response control.
-
getResultString
@NotNull public java.lang.String getResultString()
Retrieves a string representation of this LDAP result, consisting of the result code, diagnostic message (if present), matched DN (if present), and referral URLs (if present).- Returns:
- A string representation of this LDAP result.
-
toString
@NotNull public java.lang.String toString()
Retrieves a string representation of this LDAP result.- Overrides:
toStringin classjava.lang.Object- Returns:
- A string representation of this LDAP result.
-
toString
public void toString(@NotNull java.lang.StringBuilder buffer)
Appends a string representation of this LDAP result to the provided buffer.- Specified by:
toStringin interfaceLDAPResponse- Parameters:
buffer- The buffer to which to append a string representation of this LDAP result.
-
-