Class 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 ResultCode class 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 the BindResult and ExtendedResult subclasses are actually intended to be extended by third-party code.
    See Also:
    Serialized Form
    • 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.
      protected LDAPResult​(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.String getDiagnosticMessage()
      Retrieves the diagnostic message from the response, if available.
      java.lang.String getMatchedDN()
      Retrieves the matched DN from the response, if available.
      int getMessageID()
      Retrieves the message ID for the LDAP message with which this LDAP result is associated.
      OperationType getOperationType()
      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.
      Control getResponseControl​(java.lang.String oid)
      Retrieves the response control with the specified OID.
      Control[] getResponseControls()
      Retrieves the set of controls from the response, if available.
      ResultCode getResultCode()
      Retrieves the result code from the response.
      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).
      boolean hasResponseControl()
      Indicates whether this result contains at least one control.
      boolean hasResponseControl​(java.lang.String oid)
      Indicates whether this result contains at least one control with the specified OID.
      java.lang.String toString()
      Retrieves a string representation of this LDAP result.
      void toString​(java.lang.StringBuilder buffer)
      Appends a string representation of this LDAP result to the provided buffer.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • 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:
        getMessageID in interface LDAPResponse
        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 null if 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 null if 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 null if 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 the get method 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:
        true if this result contains at least one control, or false if 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 be null.
        Returns:
        true if this result contains at least one control with the specified OID, or false if 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 null if 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:
        toString in class java.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:
        toString in interface LDAPResponse
        Parameters:
        buffer - The buffer to which to append a string representation of this LDAP result.