On Thu, Apr 28, 2011 at 7:28 PM, Stefan Seelmann <[email protected]>wrote:

> >
> > This is not an easy choice.
> >
> > The problme is that the user might be puzzled to see that a
> > LdapConnection.search( SearchRequest ) returns a cursor<SearchResponse>
> but
> > that the LdapConnection.search( base, filter, scope, attrs... ) returns a
> > cursor<Entry>.
> >
> > Using send( Request ) instead first makes the API lighter (we don't have
> to
> > create one send() method per type of request, it can be hidden in the
> > LdapConnection class) and it's also for advanced users.
>
> Another idea: We have two interfaces: LdapConnection and
> LdapAsyncConnection. What about a third interface (e.g.
> AdvancedLdapConnection, need to find a better name) which extends
> LdapConnections. Then we can move all the methods for advanced users
> to this new interface. Then the LdapConnection interface is much
> smaller. We still can have a single LdapNetworkConnection class that
> implements all three interfaces.
>
> Thoughts?
>
>
This is what I was thinking. More so like a SimpleLdapConnection which can
wrap the LowLevelConnection to expose the simple easy to use methods that
sit on top of the low level protocol aligned operations.

Regards,
Alex

Reply via email to