Interface LdapConnection

    • Method Summary

      All Methods Instance Methods Abstract Methods Deprecated Methods 
      Modifier and Type Method Description
      void abandon​(int messageId)
      Abandons a request submitted to the server for performing a particular operation.
      void abandon​(AbandonRequest abandonRequest)
      An abandon request essentially with the request message ID of the operation to be canceled and/or potentially some controls and timeout (the controls and timeout are not mandatory).
      void add​(Entry entry)
      Add an entry to the server.
      AddResponse add​(AddRequest addRequest)
      Add an entry present in the AddRequest to the server.
      void anonymousBind()
      Anonymous bind on a server.
      void bind()
      Bind on a server, using the LdapConnectionConfig information of this connection.
      void bind​(String name)
      Unauthenticated authentication bind on a server.
      void bind​(String name, String credentials)
      Simple bind on a server.
      BindResponse bind​(BindRequest bindRequest)
      Bind to the server using a bind request object.
      void bind​(Dn name)
      Unauthenticated authentication bind on a server.
      void bind​(Dn name, String credentials)
      Simple bind on a server.
      BindResponse bind​(SaslRequest saslRequest)
      SASL Bind to the server using a SASL request object.
      void close()
      Disconnect from the remote LDAP server.
      boolean compare​(String dn, String attributeName, byte[] value)
      Compares whether a given attribute's value matches that of the existing value of the attribute present in the entry with the given distinguished name.
      boolean compare​(String dn, String attributeName, String value)
      Compares whether a given attribute's value matches that of the existing value of the attribute present in the entry with the given distinguished name.
      boolean compare​(String dn, String attributeName, Value value)
      Compares whether a given attribute's value matches that of the existing value of the attribute present in the entry with the given distinguished name.
      CompareResponse compare​(CompareRequest compareRequest)
      Compares an entry's attribute's value with that of the given value.
      boolean compare​(Dn dn, String attributeName, byte[] value)
      Compares whether a given attribute's value matches that of the existing value of the attribute present in the entry with the given distinguished name.
      boolean compare​(Dn dn, String attributeName, String value)
      Compares whether a given attribute's value matches that of the existing value of the attribute present in the entry with the given distinguished name.
      boolean compare​(Dn dn, String attributeName, Value value)
      Compares whether a given attribute's value matches that of the existing value of the attribute present in the entry with the given distinguished name.
      boolean connect()
      Connect to the remote LDAP server.
      void delete​(String dn)
      Deletes the entry with the given distinguished name.
      DeleteResponse delete​(DeleteRequest deleteRequest)
      Performs a delete operation based on the delete request object.
      void delete​(Dn dn)
      Deletes the entry with the given distinguished name.
      boolean doesFutureExistFor​(int messageId)
      Deprecated.
      Throwable exceptionCaught()
      tell if an exception was caught while processing the request or a response.
      boolean exists​(String dn)
      Tells if an entry exists in the server.
      boolean exists​(Dn dn)
      Tells if an Entry exists in the server.
      ExtendedResponse extended​(String oid)
      Sends a extended operation request to the server with the given OID and no value.
      ExtendedResponse extended​(String oid, byte[] value)
      Sends a extended operation request to the server with the given OID and value.
      ExtendedResponse extended​(Oid oid)
      Sends a extended operation request to the server with the given OID and no value.
      ExtendedResponse extended​(Oid oid, byte[] value)
      Sends a extended operation request to the server with the given OID and value.
      ExtendedResponse extended​(ExtendedRequest extendedRequest)
      Performs an extended operation based on the extended request object.
      BinaryAttributeDetector getBinaryAttributeDetector()  
      LdapApiService getCodecService()
      Gets the LDAP CODEC service responsible for encoding and decoding messages.
      Entry getRootDse()
      Get back the RooDSE from the connected server.
      Entry getRootDse​(String... attributes)
      Get back the RooDSE from the connected server.
      SchemaManager getSchemaManager()  
      List<String> getSupportedControls()
      Get the Controls supported by server.
      boolean isAuthenticated()
      Check if the connection is authenticated.
      boolean isConnected()
      Check if the connection is established
      boolean isControlSupported​(String controlOID)
      Checks if a control with the given OID is supported.
      boolean isRequestCompleted​(int messageId)
      Checks if a request has been completed, or not.
      void loadSchema()
      Loads all the default schemas that are bundled with the API.

      Note: This method enables all schemas prior to loading.
      void loadSchemaRelaxed()
      Loads all the default schemas that are bundled with the API, in a relaxed mode.

      Note: This method enables all schemas prior to loading.
      The relaxed mode will allow inconsistencies in the schema.
      Entry lookup​(String dn)
      Searches for an entry having the given distinguished name.
      Entry lookup​(String dn, String... attributes)
      Searches for an entry having the given distinguished name.
      Entry lookup​(String dn, Control[] controls, String... attributes)
      Searches for an entry having the given distinguished name.
      Entry lookup​(Dn dn)
      Searches for an entry having the given distinguished name..
      Entry lookup​(Dn dn, String... attributes)
      Searches for an entry having the given distinguished name.
      Entry lookup​(Dn dn, Control[] controls, String... attributes)
      Searches for an entry having the given distinguished name.
      void modify​(String dn, Modification... modifications)
      Applies all the modifications to the entry specified by its distinguished name.
      void modify​(Entry entry, ModificationOperation modOp)
      Modifies all the attributes present in the entry by applying the same operation.
      ModifyResponse modify​(ModifyRequest modRequest)
      Performs an modify operation based on the modifications present in the modify request.
      void modify​(Dn dn, Modification... modifications)
      Applies all the modifications to the entry specified by its distinguished name.
      ModifyDnResponse modifyDn​(ModifyDnRequest modDnRequest)
      Performs the modifyDn operation based on the given request object.
      void move​(String entryDn, String newSuperiorDn)
      Moves the given entry distinguished name under the new superior distinguished name.
      void move​(Dn entryDn, Dn newSuperiorDn)
      Moves the given entry distinguished name under the new superior distinguished name.
      void moveAndRename​(String entryDn, String newDn)
      Moves and renames the given entry distinguished name.
      void moveAndRename​(String entryDn, String newDn, boolean deleteOldRdn)
      Moves and renames the given entryDn.
      void moveAndRename​(Dn entryDn, Dn newDn)
      Moves and renames the given entryDn.
      void moveAndRename​(Dn entryDn, Dn newDn, boolean deleteOldRdn)
      Moves and renames the given entryDn.
      void rename​(String entryDn, String newRdn)
      Renames the given entryDn with new relative distinguished name and deletes the old relative distinguished name.
      void rename​(String entryDn, String newRdn, boolean deleteOldRdn)
      Renames the given entryDn with new relative distinguished name and deletes the old relative distinguished name if deleteOldRdn is set to true.
      void rename​(Dn entryDn, Rdn newRdn)
      Renames the given entryDn with new relative distinguished name and deletes the old relative distinguished name.
      void rename​(Dn entryDn, Rdn newRdn, boolean deleteOldRdn)
      Renames the given entryDn with new relative distinguished name and deletes the old relative distinguished name if deleteOldRdn is set to true.
      EntryCursor search​(String baseDn, String filter, SearchScope scope, String... attributes)
      Do a search, on the base object, using the given filter and scope.
      SearchCursor search​(SearchRequest searchRequest)
      Performs search using a search request object.
      EntryCursor search​(Dn baseDn, String filter, SearchScope scope, String... attributes)
      Do a search, on the base object, using the given filter and scope.
      void setBinaryAttributeDetector​(BinaryAttributeDetector binaryAttributeDetecter)
      Sets the object responsible for the detection of binary attributes.
      void setSchemaManager​(SchemaManager schemaManager)
      sets a SchemaManager to be used by this connection
      void setTimeOut​(long timeOut)
      Set the timeout for the responses.
      void unBind()
      UnBind from a server.
    • Method Detail

      • isConnected

        boolean isConnected()
        Check if the connection is established
        Returns:
        true if the connection is established
      • isAuthenticated

        boolean isAuthenticated()
        Check if the connection is authenticated.
        Returns:
        true if the connection is authenticated
      • connect

        boolean connect()
                 throws LdapException
        Connect to the remote LDAP server.
        Returns:
        true if the connection is established, false otherwise
        Throws:
        LdapException - if some error occurred
      • exceptionCaught

        Throwable exceptionCaught()
        tell if an exception was caught while processing the request or a response.
        Returns:
        The exception if there was one thrown while processing a request or a response
      • abandon

        void abandon​(int messageId)
        Abandons a request submitted to the server for performing a particular operation. The abandonRequest is always non-blocking, because no response is expected
        Parameters:
        messageId - the ID of the request message sent to the server
      • abandon

        void abandon​(AbandonRequest abandonRequest)
        An abandon request essentially with the request message ID of the operation to be canceled and/or potentially some controls and timeout (the controls and timeout are not mandatory). The abandonRequest is always non-blocking, because no response is expected.
        Parameters:
        abandonRequest - the abandon operation's request
      • bind

        void bind​(String name)
           throws LdapException
        Unauthenticated authentication bind on a server.
        Parameters:
        name - The name used to authenticate the user. It must be a valid distinguished name.
        Throws:
        LdapException - if some error occurred
      • bind

        void bind​(String name,
                  String credentials)
           throws LdapException
        Simple bind on a server.
        Parameters:
        name - The name used to authenticate the user. It must be a valid distinguished name.
        credentials - The password, it can't be null
        Throws:
        LdapException - if some error occurred
      • bind

        void bind​(Dn name)
           throws LdapException
        Unauthenticated authentication bind on a server.
        Parameters:
        name - The name used to authenticate the user.
        Throws:
        LdapException - if some error occurred
      • bind

        void bind​(Dn name,
                  String credentials)
           throws LdapException
        Simple bind on a server.
        Parameters:
        name - The name used to authenticate the user.
        credentials - The password, it can't be null
        Throws:
        LdapException - if some error occurred
      • search

        EntryCursor search​(Dn baseDn,
                           String filter,
                           SearchScope scope,
                           String... attributes)
                    throws LdapException
        Do a search, on the base object, using the given filter and scope. The SearchRequest parameters default to
        • DerefAlias : ALWAYS
        • SizeLimit : none
        • TimeLimit : none
        • TypesOnly : false
        Parameters:
        baseDn - The base for the search. It must be a valid distinguished name and can't be emtpy
        filter - The filter to use for this search. It can't be empty
        scope - The search scope : OBJECT, ONELEVEL or SUBTREE
        attributes - The attributes to use for this search
        Returns:
        An EntryCursor on the result.
        Throws:
        LdapException - if some error occurred
      • search

        EntryCursor search​(String baseDn,
                           String filter,
                           SearchScope scope,
                           String... attributes)
                    throws LdapException
        Do a search, on the base object, using the given filter and scope. The SearchRequest parameters default to
        • DerefAlias : ALWAYS
        • SizeLimit : none
        • TimeLimit : none
        • TypesOnly : false
        Parameters:
        baseDn - The base for the search. It must be a valid distinguished name, and can't be emtpy
        filter - The filter to use for this search. It can't be empty
        scope - The search scope : OBJECT, ONELEVEL or SUBTREE
        attributes - The attributes to use for this search
        Returns:
        An EntryCursor on the result.
        Throws:
        LdapException - if some error occurred
      • search

        SearchCursor search​(SearchRequest searchRequest)
                     throws LdapException
        Performs search using a search request object.
        Parameters:
        searchRequest - The search request object containing all the needed information
        Returns:
        a search cursor on the result.
        Throws:
        LdapException - if some error occurred
      • setTimeOut

        void setTimeOut​(long timeOut)
        Set the timeout for the responses. We won't wait longer than this value.
        Parameters:
        timeOut - The timeout, in milliseconds
      • modify

        void modify​(Dn dn,
                    Modification... modifications)
             throws LdapException
        Applies all the modifications to the entry specified by its distinguished name.
        Parameters:
        dn - The entry's distinguished name
        modifications - The list of modifications to be applied
        Throws:
        LdapException - in case of modify operation failure or timeout happens
      • modify

        void modify​(String dn,
                    Modification... modifications)
             throws LdapException
        Applies all the modifications to the entry specified by its distinguished name.
        Parameters:
        dn - The entry's distinguished name, it must be a valid distinguished name.
        modifications - The list of modifications to be applied
        Throws:
        LdapException - in case of modify operation failure or timeout happens
      • modify

        void modify​(Entry entry,
                    ModificationOperation modOp)
             throws LdapException
        Modifies all the attributes present in the entry by applying the same operation.
        Parameters:
        entry - the entry with the attributes to be modified
        modOp - the operation to be applied on all the attributes of the above entry
        Throws:
        LdapException - in case of modify operation failure or timeout happens
      • modify

        ModifyResponse modify​(ModifyRequest modRequest)
                       throws LdapException
        Performs an modify operation based on the modifications present in the modify request.
        Parameters:
        modRequest - the modify request object
        Returns:
        the modify operation's response
        Throws:
        LdapException - in case of modify operation failure or timeout happens
      • rename

        void rename​(String entryDn,
                    String newRdn)
             throws LdapException
        Renames the given entryDn with new relative distinguished name and deletes the old relative distinguished name.
        Parameters:
        entryDn - the target distinguished name.
        newRdn - new relative distinguished name for the target distinguished name.
        Throws:
        LdapException - if some error occurred
        See Also:
        rename(String, String, boolean)
      • rename

        void rename​(Dn entryDn,
                    Rdn newRdn)
             throws LdapException
        Renames the given entryDn with new relative distinguished name and deletes the old relative distinguished name.
        Parameters:
        entryDn - the target distinguished name.
        newRdn - new relative distinguished name for the target distinguished name.
        Throws:
        LdapException - if some error occurred
        See Also:
        rename(Dn, Rdn, boolean)
      • rename

        void rename​(String entryDn,
                    String newRdn,
                    boolean deleteOldRdn)
             throws LdapException
        Renames the given entryDn with new relative distinguished name and deletes the old relative distinguished name if deleteOldRdn is set to true.
        Parameters:
        entryDn - the target distinguished name.
        newRdn - new relative distinguished name for the target distinguished name.
        deleteOldRdn - flag to indicate whether to delete the old relative distinguished name
        Throws:
        LdapException - if some error occurred
        See Also:
        rename(Dn, Rdn, boolean)
      • rename

        void rename​(Dn entryDn,
                    Rdn newRdn,
                    boolean deleteOldRdn)
             throws LdapException
        Renames the given entryDn with new relative distinguished name and deletes the old relative distinguished name if deleteOldRdn is set to true.
        Parameters:
        entryDn - the target distinguished name.
        newRdn - new relative distinguished name for the target distinguished name.
        deleteOldRdn - flag to indicate whether to delete the old relative distinguished name
        Throws:
        LdapException - if some error occurred
      • move

        void move​(String entryDn,
                  String newSuperiorDn)
           throws LdapException
        Moves the given entry distinguished name under the new superior distinguished name.
        Parameters:
        entryDn - the distinguished name of the target entry
        newSuperiorDn - distinguished name of the new parent/superior
        Throws:
        LdapException - if some error occurred
        See Also:
        move(Dn, Dn)
      • move

        void move​(Dn entryDn,
                  Dn newSuperiorDn)
           throws LdapException
        Moves the given entry distinguished name under the new superior distinguished name.
        Parameters:
        entryDn - the distinguished name of the target entry
        newSuperiorDn - distinguished name of the new parent/superior
        Throws:
        LdapException - if some error occurred
      • moveAndRename

        void moveAndRename​(Dn entryDn,
                           Dn newDn,
                           boolean deleteOldRdn)
                    throws LdapException
        Moves and renames the given entryDn. The old relative distinguished name will be deleted if requested.
        Parameters:
        entryDn - The original entry distinguished name.
        newDn - The new entry distinguished name.
        deleteOldRdn - Tells if the old relative distinguished name must be removed
        Throws:
        LdapException - if some error occurred
      • moveAndRename

        void moveAndRename​(String entryDn,
                           String newDn,
                           boolean deleteOldRdn)
                    throws LdapException
        Moves and renames the given entryDn. The old relative distinguished name will be deleted if requested.
        Parameters:
        entryDn - The original entry distinguished name.
        newDn - The new entry distinguished name.
        deleteOldRdn - Tells if the old relative distinguished name must be removed
        Throws:
        LdapException - if some error occurred
      • delete

        void delete​(String dn)
             throws LdapException
        Deletes the entry with the given distinguished name.
        Parameters:
        dn - the target entry's distinguished name, it must be a valid distinguished name.
        Throws:
        LdapException - If the distinguished name is not valid or if the deletion failed
      • delete

        void delete​(Dn dn)
             throws LdapException
        Deletes the entry with the given distinguished name.
        Parameters:
        dn - the target entry's distinguished name
        Throws:
        LdapException - If the distinguished name is not valid or if the deletion failed
      • delete

        DeleteResponse delete​(DeleteRequest deleteRequest)
                       throws LdapException
        Performs a delete operation based on the delete request object.
        Parameters:
        deleteRequest - the delete operation's request
        Returns:
        delete operation's response
        Throws:
        LdapException - If the distinguished name is not valid or if the deletion failed
      • compare

        boolean compare​(String dn,
                        String attributeName,
                        String value)
                 throws LdapException
        Compares whether a given attribute's value matches that of the existing value of the attribute present in the entry with the given distinguished name.
        Parameters:
        dn - the target entry's distinguished name, it must be a valid distinguished name.
        attributeName - the attribute's name
        value - a String value with which the target entry's attribute value to be compared with
        Returns:
        true if the value matches, false otherwise
        Throws:
        LdapException - if some error occurred
      • compare

        boolean compare​(String dn,
                        String attributeName,
                        byte[] value)
                 throws LdapException
        Compares whether a given attribute's value matches that of the existing value of the attribute present in the entry with the given distinguished name.
        Parameters:
        dn - the target entry's distinguished name, it must be a valid distinguished name.
        attributeName - the attribute's name
        value - a byte[] value with which the target entry's attribute value to be compared with
        Returns:
        true if the value matches, false otherwise
        Throws:
        LdapException - if some error occurred
      • compare

        boolean compare​(String dn,
                        String attributeName,
                        Value value)
                 throws LdapException
        Compares whether a given attribute's value matches that of the existing value of the attribute present in the entry with the given distinguished name.
        Parameters:
        dn - the target entry's distinguished name, it must be a valid distinguished name.
        attributeName - the attribute's name
        value - a Value<?> value with which the target entry's attribute value to be compared with
        Returns:
        true if the value matches, false otherwise
        Throws:
        LdapException - if some error occurred
      • compare

        boolean compare​(Dn dn,
                        String attributeName,
                        String value)
                 throws LdapException
        Compares whether a given attribute's value matches that of the existing value of the attribute present in the entry with the given distinguished name.
        Parameters:
        dn - the target entry's distinguished name
        attributeName - the attribute's name
        value - a String value with which the target entry's attribute value to be compared with
        Returns:
        true if the value matches, false otherwise
        Throws:
        LdapException - if some error occurred
      • compare

        boolean compare​(Dn dn,
                        String attributeName,
                        byte[] value)
                 throws LdapException
        Compares whether a given attribute's value matches that of the existing value of the attribute present in the entry with the given distinguished name.
        Parameters:
        dn - the target entry's distinguished name
        attributeName - the attribute's name
        value - a byte[] value with which the target entry's attribute value to be compared with
        Returns:
        true if the value matches, false otherwise
        Throws:
        LdapException - if some error occurred
      • compare

        boolean compare​(Dn dn,
                        String attributeName,
                        Value value)
                 throws LdapException
        Compares whether a given attribute's value matches that of the existing value of the attribute present in the entry with the given distinguished name.
        Parameters:
        dn - the target entry's distinguished name
        attributeName - the attribute's name
        value - a Value<?> value with which the target entry's attribute value to be compared with
        Returns:
        true if the value matches, false otherwise
        Throws:
        LdapException - if some error occurred
      • compare

        CompareResponse compare​(CompareRequest compareRequest)
                         throws LdapException
        Compares an entry's attribute's value with that of the given value.
        Parameters:
        compareRequest - the compare request which contains the target distinguished name, attribute name and value
        Returns:
        compare operation's response
        Throws:
        LdapException - if some error occurred
      • extended

        ExtendedResponse extended​(Oid oid,
                                  byte[] value)
                           throws LdapException
        Sends a extended operation request to the server with the given OID and value.
        Parameters:
        oid - the object identifier of the extended operation
        value - value to be used by the extended operation, can be a null value
        Returns:
        extended operation's response
        Throws:
        LdapException - if some error occurred
      • exists

        boolean exists​(String dn)
                throws LdapException
        Tells if an entry exists in the server.
        Parameters:
        dn - The distinguished name of the entry to check for existence, must be a valid distinguished name.
        Returns:
        true if the entry exists, false otherwise. Note that if the entry exists but if the user does not have the permission to read it, false will also be returned
        Throws:
        LdapException - if some error occurred
      • exists

        boolean exists​(Dn dn)
                throws LdapException
        Tells if an Entry exists in the server.
        Parameters:
        dn - The distinguished name of the entry to check for existence
        Returns:
        true if the entry exists, false otherwise. Note that if the entry exists but if the user does not have the permission to read it, false will also be returned
        Throws:
        LdapException - if some error occurred
      • getRootDse

        Entry getRootDse()
                  throws LdapException
        Get back the RooDSE from the connected server. All user and operational attributes are returned.
        Returns:
        The Entry containing all the information about the rootDSE
        Throws:
        LdapException - If the rootDSE can't be read
      • getRootDse

        Entry getRootDse​(String... attributes)
                  throws LdapException
        Get back the RooDSE from the connected server. The user can provide the list of attributes he wants to get back. Sending "*" will return all the user attributes, sending "+" will return all the operational attributes.
        Parameters:
        attributes - The list of attributes to return
        Returns:
        The Entry containing all the information about the rootDSE
        Throws:
        LdapException - If the rootDSE can't be read
      • lookup

        Entry lookup​(Dn dn)
              throws LdapException
        Searches for an entry having the given distinguished name..
        Parameters:
        dn - the distinguished name of the entry to be fetched
        Returns:
        the Entry with the given distinguished name or null if no entry exists with that distinguished name.
        Throws:
        LdapException - in case of any problems while searching for the distinguished name or if the returned response contains a referral
        See Also:
        lookup(Dn, String...)
      • lookup

        Entry lookup​(String dn)
              throws LdapException
        Searches for an entry having the given distinguished name.
        Parameters:
        dn - the distinguished name of the entry to be fetched
        Returns:
        the Entry with the given distinguished name or null if no entry exists with that distinguished name.
        Throws:
        LdapException - in case of any problems while searching for the distinguished name or if the returned response contains a referral
        See Also:
        lookup(String, String...)
      • lookup

        Entry lookup​(Dn dn,
                     String... attributes)
              throws LdapException
        Searches for an entry having the given distinguished name.
        Parameters:
        dn - the distinguished name of the entry to be fetched
        attributes - the attributes to be returned along with entry
        Returns:
        the Entry with the given distinguished name or null if no entry exists with that distinguished name.
        Throws:
        LdapException - in case of any problems while searching for the distinguished name or if the returned response contains a referral
      • lookup

        Entry lookup​(Dn dn,
                     Control[] controls,
                     String... attributes)
              throws LdapException
        Searches for an entry having the given distinguished name.
        Parameters:
        dn - the distinguished name of the entry to be fetched
        controls - the controls to use
        attributes - the attributes to be returned along with entry
        Returns:
        the Entry with the given distinguished name or null if no entry exists with that distinguished name.
        Throws:
        LdapException - in case of any problems while searching for the distinguished name or if the returned response contains a referral
      • lookup

        Entry lookup​(String dn,
                     String... attributes)
              throws LdapException
        Searches for an entry having the given distinguished name.
        Parameters:
        dn - the distinguished name of the entry to be fetched
        attributes - the attributes to be returned along with entry
        Returns:
        the Entry with the given distinguished name or null if no entry exists with that distinguished name.
        Throws:
        LdapException - in case of any problems while searching for the distinguished name or if the returned response contains a referral
        See Also:
        lookup(Dn, String...)
      • lookup

        Entry lookup​(String dn,
                     Control[] controls,
                     String... attributes)
              throws LdapException
        Searches for an entry having the given distinguished name.
        Parameters:
        dn - the distinguished name of the entry to be fetched
        controls - the controls to use
        attributes - the attributes to be returned along with entry
        Returns:
        the Entry with the given distinguished name or null if no entry exists with that distinguished name.
        Throws:
        LdapException - in case of any problems while searching for the distinguished name or if the returned response contains a referral
        See Also:
        lookup(Dn, String...)
      • isControlSupported

        boolean isControlSupported​(String controlOID)
                            throws LdapException
        Checks if a control with the given OID is supported.
        Parameters:
        controlOID - the OID of the control
        Returns:
        true if the control is supported, false otherwise
        Throws:
        LdapException - if some error occurred
      • loadSchema

        void loadSchema()
                 throws LdapException
        Loads all the default schemas that are bundled with the API.

        Note: This method enables all schemas prior to loading.
        Throws:
        LdapException - in case of problems while loading the schema
      • loadSchemaRelaxed

        void loadSchemaRelaxed()
                        throws LdapException
        Loads all the default schemas that are bundled with the API, in a relaxed mode.

        Note: This method enables all schemas prior to loading.
        The relaxed mode will allow inconsistencies in the schema.
        Throws:
        LdapException - in case of problems while loading the schema
      • getCodecService

        LdapApiService getCodecService()
        Gets the LDAP CODEC service responsible for encoding and decoding messages.
        Returns:
        The LDAP CODEC service.
      • isRequestCompleted

        boolean isRequestCompleted​(int messageId)
        Checks if a request has been completed, or not.
        Parameters:
        messageId - ID of the request
        Returns:
        true if the request has been completed, false is still being processed
      • doesFutureExistFor

        @Deprecated
        boolean doesFutureExistFor​(int messageId)
        Deprecated.
        Checks if there is a ResponseFuture associated with the given message ID.
        Parameters:
        messageId - ID of the request
        Returns:
        true if there is a non-null future exists, false otherwise
      • setBinaryAttributeDetector

        void setBinaryAttributeDetector​(BinaryAttributeDetector binaryAttributeDetecter)
        Sets the object responsible for the detection of binary attributes.
        Parameters:
        binaryAttributeDetecter - The Binary Attribute Detector to use
      • setSchemaManager

        void setSchemaManager​(SchemaManager schemaManager)
        sets a SchemaManager to be used by this connection
        Parameters:
        schemaManager - The SchemaManager to set