public interface Request extends AttachmentHolder
Modifier and Type | Method and Description |
---|---|
Request |
addControl(Control control)
Adds the provided control to this request.
|
<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. |
boolean |
isInternal()
Returns
true if this request is flagged as internal; false
otherwise. |
Request |
removeControl(Control control)
Removes the provided control from this request.
|
getAttachment, getAttachmentNames, removeAttachment, setAttachment
Request addControl(Control control) throws java.lang.UnsupportedOperationException, java.lang.NullPointerException
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
.<C extends Control> C getControl(ControlDecoder<C> decoder) throws java.lang.NullPointerException, PluginException
C
- The type of control to be decoded and returned.decoder
- The control decoder.null
if the control is not included
with this request.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).java.lang.NullPointerException
- If decoder
was null
.java.util.List<Control> getControls()
List
containing the controls included with this request.
The returned List
is immutable.List
containing the controls.Request removeControl(Control control) throws java.lang.UnsupportedOperationException, java.lang.NullPointerException
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
.boolean isInternal()
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, ...
true
if this request is flagged as internal; false
otherwise.