public class BindRequestWrapper extends java.lang.Object implements BindRequest
Constructor and Description |
---|
BindRequestWrapper(BindRequest request)
Creates a new BindRequestWrapper that wraps the specified bind request.
|
Modifier and Type | Method and Description |
---|---|
BindRequest |
addControl(Control control)
Adds the provided control to this request.
|
java.lang.Object |
getAttachment(java.lang.String name)
Retrieves the attachment with the specified name.
|
java.util.Set<java.lang.String> |
getAttachmentNames()
Retrieves the set of attachment names defined for this holder, as a
mapping between the attachment name and the associated object.
|
byte |
getAuthenticationType()
Returns the authentication mechanism identifier for this generic bind
request as defined by the LDAP protocol.
|
<C extends Control> |
getControl(ControlDecoder<C> decoder)
Decodes and returns the first control in this request having an OID
corresponding to the provided control decoder.
|
java.util.List<Control> |
getControls()
Returns a
List containing the controls included with this request. |
DN |
getName()
Returns the name of the Directory object that the client wishes to bind as.
|
ByteString |
getPassword()
Returns the password of the Directory object that the client wishes to bind
as.
|
boolean |
isInternal()
Returns
true if this request is flagged as internal; false
otherwise. |
java.lang.Object |
removeAttachment(java.lang.String name)
Removes the attachment with the specified name.
|
Request |
removeControl(Control control)
Removes the provided control from this request.
|
java.lang.Object |
setAttachment(java.lang.String name,
java.lang.Object value)
Sets the value of the specified attachment.
|
BindRequest |
setName(DN dn)
Sets the name of the Directory object that the client wishes to bind as.
|
BindRequest |
setName(java.lang.String dn)
Sets the name of the Directory object that the client wishes to bind as.
|
BindRequest |
setPassword(ByteString password)
Sets the password of the Directory object that the client wishes to bind
as.
|
BindRequest |
setPassword(char[] password)
Sets the password of the Directory object that the client wishes to bind
as.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getControl, getControls, isInternal, removeControl
getAttachment, getAttachmentNames, removeAttachment, setAttachment
public BindRequestWrapper(BindRequest request)
request
- the request to wrap.public BindRequest addControl(Control control) throws java.lang.UnsupportedOperationException, java.lang.NullPointerException
Request
addControl
in interface BindRequest
addControl
in interface Request
control
- The control to be added to this request.java.lang.UnsupportedOperationException
- If this request does not permit controls to be added.java.lang.NullPointerException
- If control
was null
.public byte getAuthenticationType()
BindRequest
0x80
is
reserved for simple authentication and 0xA3
is reserved for SASL
authentication.getAuthenticationType
in interface BindRequest
public ByteString getPassword()
BindRequest
null
) when used for of
anonymous or unauthenticated binds.getPassword
in interface BindRequest
public DN getName()
BindRequest
null
) when used for of anonymous
binds.getName
in interface BindRequest
public BindRequest setName(DN dn) throws java.lang.UnsupportedOperationException, java.lang.NullPointerException
BindRequest
null
when used for of anonymous
binds.setName
in interface BindRequest
dn
- The name of the Directory object that the client wishes to bind
as.java.lang.UnsupportedOperationException
- If this bind request does not permit the distinguished name to be
set.java.lang.NullPointerException
- If dn
was null
.public BindRequest setName(java.lang.String dn) throws PluginException, java.lang.UnsupportedOperationException, java.lang.NullPointerException
BindRequest
null
when used for of anonymous
binds.setName
in interface BindRequest
dn
- The name of the Directory object that the client wishes to bind
as.PluginException
- If dn
could not be decoded.java.lang.UnsupportedOperationException
- If this bind request does not permit the distinguished name to be
set.java.lang.NullPointerException
- If name
was null
.public BindRequest setPassword(ByteString password) throws java.lang.UnsupportedOperationException, java.lang.NullPointerException
BindRequest
null
) when used for of
anonymous or unauthenticated binds.setPassword
in interface BindRequest
password
- The password of the Directory object that the client wishes to
bind as, which may be empty.java.lang.UnsupportedOperationException
- If this simple bind request does not permit the password to be
set.java.lang.NullPointerException
- If password
was null
.public BindRequest setPassword(char[] password) throws java.lang.UnsupportedOperationException, java.lang.NullPointerException
BindRequest
null
) when used for of anonymous or
unauthenticated binds. Subsequent modifications to the password
array will not alter this bind request.setPassword
in interface BindRequest
password
- The password of the Directory object that the client wishes to
bind as, which may be empty.java.lang.UnsupportedOperationException
- If this simple bind request does not permit the password to be
set.java.lang.NullPointerException
- If password
was null
.public <C extends Control> C getControl(ControlDecoder<C> decoder) throws java.lang.NullPointerException, PluginException
Request
getControl
in interface Request
C
- The type of control to be decoded and returned.decoder
- The control decoder.null
if the control is not included
with this request.java.lang.NullPointerException
- If decoder
was null
.PluginException
- If the control could not be decoded because it was malformed in
some way (e.g. the control value was missing, or its content
could not be decoded).public java.util.List<Control> getControls()
Request
List
containing the controls included with this request.
The returned List
is immutable.getControls
in interface Request
List
containing the controls.public Request removeControl(Control control) throws java.lang.UnsupportedOperationException, java.lang.NullPointerException
Request
removeControl
in interface Request
control
- The control to be removed from this request.java.lang.UnsupportedOperationException
- If this request does not permit controls to be removed.java.lang.NullPointerException
- If control
was null
.public java.lang.Object removeAttachment(java.lang.String name)
AttachmentHolder
removeAttachment
in interface AttachmentHolder
name
- The name for the attachment to remove. It will be
treated in a case-sensitive manner.null
if it
does not exist.public java.lang.Object setAttachment(java.lang.String name, java.lang.Object value)
AttachmentHolder
setAttachment
in interface AttachmentHolder
name
- The name to use for the attachment.value
- The value to use for the attachment.null
if there was previously no such
attachment.public java.lang.Object getAttachment(java.lang.String name)
AttachmentHolder
getAttachment
in interface AttachmentHolder
name
- The name for the attachment to retrieve. It will
be treated in a case-sensitive manner.null
if it
does not exist.public java.util.Set<java.lang.String> getAttachmentNames()
AttachmentHolder
getAttachmentNames
in interface AttachmentHolder
public boolean isInternal()
Request
true
if this request is flagged as internal; false
otherwise.
When a request is flagged internal, various components of the server may behave in a manner that is less restrictive. For example, attributes defined as NO-USER-MODIFICATION are allowed to be added, private backends are accessible, ...
isInternal
in interface Request
true
if this request is flagged as internal; false
otherwise.