On Tue, Mar 31, 2009 at 2:22 PM, Emmanuel Lecharny <elecharny@apache.org> wrote:
One more thing :

we must handle the controls within the bind operation.

Request controls should be added to the bind() method in an overload. As a List or Set (guess order does not matter).
That could be done by adding an optionnal extra parameter, like jLDAP does (they are using LdapConstraints)

Controls are not constraints.
This object contains :
- a list of controls
- size limit
- time limit
- referral handling
- and a general property allowing you to send server specific parameters (I guess).

Some things like session controls belong in the session.  The session should also maintain defaults for these parameters which are search specific parameters mostly.   Users should just be able to override these values on the connection while using a SearchControls object for per request overrides that one does not want overriding session wide settings in the LdapConnection.

Should we mimic this object ?

I hate this object.  It's in the Netscape Java LDAP API as well.  I've always felt it was awkward to use.
Or should we simply allow operation specific elements ?

Sorry what do you mean?
For instance, size limit and referral handling does not make too much sense for a BindRequest.

Ok I see what you mean.  Yes we should be operation specific.  This way we don't clutter things and the parameters together will make sense.