Class LdapException

All Implemented Interfaces:
Serializable, LocalizableException
Direct Known Subclasses:
AssertionFailureException, AuthenticationException, AuthorizationException, CancelledResultException, ConnectionException, ConstraintViolationException, EntryNotFoundException, MultipleEntriesFoundException, TimeoutResultException

public class LdapException extends IOException implements LocalizableException
Thrown when the result code returned in a Result indicates that the Request was unsuccessful. This class can be sub-classed in order to implement application specific exceptions.
See Also:
  • Constructor Details

    • LdapException

      protected LdapException(Result result)
      Creates a new LDAP exception using the provided result.
      Parameters:
      result - The error result.
  • Method Details

    • newLdapException

      public static LdapException newLdapException(ResultCode resultCode)
      Creates a new LDAP exception with the provided result code and an empty diagnostic message.
      Parameters:
      resultCode - The result code.
      Returns:
      The new LDAP exception.
      Throws:
      IllegalArgumentException - If the provided result code does not represent a failure.
      NullPointerException - If resultCode was null.
    • newLdapException

      public static LdapException newLdapException(ResultCode resultCode, CharSequence diagnosticMessage)
      Creates a new LDAP exception with the provided result code and diagnostic message.
      Parameters:
      resultCode - The result code.
      diagnosticMessage - The diagnostic message, which may be empty or null indicating that none was provided.
      Returns:
      The new LDAP exception.
      Throws:
      IllegalArgumentException - If the provided result code does not represent a failure.
      NullPointerException - If resultCode was null.
    • newLdapException

      public static LdapException newLdapException(ResultCode resultCode, Throwable cause)
      Creates a new LDAP exception with the provided result code and cause. The diagnostic message will be taken from the cause, if provided.
      Parameters:
      resultCode - The result code.
      cause - The throwable cause, which may be null indicating that none was provided.
      Returns:
      The new LDAP exception.
      Throws:
      IllegalArgumentException - If the provided result code does not represent a failure.
      NullPointerException - If resultCode was null.
    • newLdapException

      public static LdapException newLdapException(ResultCode resultCode, CharSequence diagnosticMessage, Throwable cause)
      Creates a new LDAP exception with the provided result code, diagnostic message, and cause.
      Parameters:
      resultCode - The result code.
      diagnosticMessage - The diagnostic message, which may be empty or null indicating that none was provided.
      cause - The throwable cause, which may be null indicating that none was provided.
      Returns:
      The new LDAP exception.
      Throws:
      IllegalArgumentException - If the provided result code does not represent a failure.
      NullPointerException - If resultCode was null.
    • newLdapException

      public static LdapException newLdapException(ResultCode resultCode, CharSequence diagnosticMessage, Dn matchedDn, Throwable cause)
      Creates a new LDAP exception with the provided resultCode, diagnosticMessage, matched DN and cause.
      Parameters:
      resultCode - The result code.
      diagnosticMessage - The diagnostic message, which may be empty or null.
      matchedDn - The matched DN associated, which may be empty or null indicating that none was provided.
      cause - The throwable cause, which may be null indicating that none was provided.
      Returns:
      The new LDAP exception.
      Throws:
      IllegalArgumentException - If the provided result code does not represent a failure.
      NullPointerException - If resultCode was null.
    • newLdapException

      public static LdapException newLdapException(Throwable cause)
      Creates a new LDAP exception with the provided cause and a result code depending on the class cause original cause. If no cause is provided, or there is no specific result code defined for the cause, ResultCode.OTHER will be used.
      Parameters:
      cause - The throwable cause, may be {code null}.
      Returns:
      The new LDAP exception
    • newLdapClientException

      public static LdapException newLdapClientException(Throwable cause)
      Creates a new LDAP client exception with the provided cause and a result code depending on the class cause original cause. If no cause is provided, or there is no specific result code defined for the cause, ResultCode.CLIENT_SIDE_LOCAL_ERROR will be used.
      Parameters:
      cause - The throwable cause, may be {code null}.
      Returns:
      The new LDAP exception
    • newLdapException

      public static LdapException newLdapException(Result result)
      Creates a new LDAP exception using the provided result.
      Parameters:
      result - The result whose result code indicates a failure.
      Returns:
      The LDAP exception wrapping the provided result.
      Throws:
      IllegalArgumentException - If the provided result does not represent a failure.
      NullPointerException - If result was null.
    • getResult

      public final Result getResult()
      Returns the error result which caused this exception to be thrown. The type of result returned corresponds to the expected result type of the original request.
      Returns:
      The error result which caused this exception to be thrown.
    • getMatchedDn

      public String getMatchedDn()
      Returns the matched DN associated with this result.
      Returns:
      The matched DN, which may be empty if none was provided (never null).
    • getReferralUris

      public List<String> getReferralUris()
      Returns a List containing the referral URIs included with this result. The returned List may be modified if permitted by this result.
      Returns:
      A List containing the referral URIs.
    • getResultCode

      public ResultCode getResultCode()
      Returns the result code associated with this result.
      Returns:
      The result code.
    • getControls

      public Collection<Control> getControls()
      Returns controls associated with the result of this LDAP exception.
      Returns:
      Controls associated with the Result encapsulated in this LdapException.
    • getMessageObject

      public LocalizableMessage getMessageObject()
      Description copied from interface: LocalizableException
      Returns the localizable message that explains the problem that occurred.
      Specified by:
      getMessageObject in interface LocalizableException
      Returns:
      The localizable message that explains the problem that occurred.
    • getMessage

      public String getMessage()
      Overrides:
      getMessage in class Throwable
    • toString

      public String toString()
      Overrides:
      toString in class Throwable