Hi Stefan, I saw that you ave added some TODO in this class, which sounds like a good idea. I will try to answer some of them :
+// TODO: all the SASL bind methods are not declared in this interface, but implemented in LdapNetworkConnection. Is that intended? No. I have added some of them lately, but dind't had time to add them in the interface. Although, the CoreConnection does not support some of the SASL bind atm : /** * SASL PLAIN Bind on a server. * * @param authcid The Authentication identity * @param credentials The password. It can't be null * @return The BindResponse LdapResponse * @throws {@link LdapException} if some error occurred */ // Not yet available on the CoreConnection //BindResponse bindSaslPlain( String authcid, String credentials ) throws LdapException; It should though : the SASL Plain authentication has been added last month. +// TODO: why do connect() and bind() methods throw an IOException, the other methods not? This can be safely removed IMO. +// TODO: why do connect() and close() return a boolean? What is the difference between false and an Exception? Good question... No answer so far. +// TODO: think about usage of abbrevisions (Dn/Rdn) vs. spelled out (relative distinguished name) in javadoc I prefer Rdn/Dn. Let's be consistant. +// TODO: does method getCodecService() belong into the interface? It returns a LdapApiService, should it be renamed? I suspect it has to do with OSGi... +// TODO: does method doesFutureExistFor() belong into the interface? Move to LdapAsyncConnection? It's a LdapNetworkConnection method only. It would make sense to move to LdapAsyncConnection. -- Regards, Cordialement, Emmanuel Lécharny www.iktek.com