Interface ExtendedRequest<S extends ExtendedResult>
- Type Parameters:
S
- The type of result.
- All Superinterfaces:
ProtocolOp
,Request
- All Known Implementing Classes:
AbstractExtendedRequest
,CancelExtendedRequest
,GenericExtendedRequest
,PasswordModifyExtendedRequest
,StartTlsExtendedRequest
,WhoAmIExtendedRequest
The Extended operation allows additional operations to be defined for
services not already available in the protocol; for example, to implement an
operation which installs transport layer security (see
StartTlsExtendedRequest
).
To determine whether a directory server supports a given extension, read the list of supported extensions from the root DSE to get a collection of extension OIDs, and then check for a match. For example:
Connection connection = ...;
Collection<String> supported =
RootDSE.readRootDSE(connection).getSupportedExtendedOperations();
ExtendedRequest extension = ...;
String OID = extension.getOID();
if (supported != null && !supported.isEmpty() && supported.contains(OID)) {
// The extension is supported. Use it here...
}
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.forgerock.opendj.ldap.messages.Request
Request.RequestType
-
Method Summary
Modifier and TypeMethodDescriptionaddControl
(Control control) Adds the provided control to this protocol-op.addControls
(Iterable<? extends Control> controls) Adds the provided controls to this protocol-op.<C extends Control>
CgetControl
(ControlDecoder<C> decoder, DecodeOptions options) Decodes and returns the first control in this protocol-op having an OID corresponding to the provided control decoder.Returns aList
containing the controls included with this protocol-op.getOid()
Returns the numeric OID associated with this extended request.Returns a decoder which can be used to decoded responses to this extended request.getValue()
Returns the value, if any, associated with this extended request.boolean
hasValue()
Returnstrue
if this extended request has a value.removeControls
(String oid) Removes all the controls having the specified OID.Methods inherited from interface org.forgerock.opendj.ldap.messages.ProtocolOp
containsControl, getControl
-
Method Details
-
addControl
Description copied from interface:ProtocolOp
Adds the provided control to this protocol-op.- Specified by:
addControl
in interfaceProtocolOp
- Specified by:
addControl
in interfaceRequest
- Parameters:
control
- The control to be added to this protocol-op.- Returns:
- This protocol-op.
-
addControls
Description copied from interface:ProtocolOp
Adds the provided controls to this protocol-op.- Specified by:
addControls
in interfaceProtocolOp
- Specified by:
addControls
in interfaceRequest
- Parameters:
controls
- The controls to be added to this protocol-op.- Returns:
- This protocol-op.
-
removeControls
Description copied from interface:ProtocolOp
Removes all the controls having the specified OID.- Specified by:
removeControls
in interfaceProtocolOp
- Specified by:
removeControls
in interfaceRequest
- Parameters:
oid
- The numeric OID of the protocol-op control to remove.- Returns:
- This protocol-op.
-
getControl
<C extends Control> C getControl(ControlDecoder<C> decoder, DecodeOptions options) throws DecodeException Description copied from interface:ProtocolOp
Decodes and returns the first control in this protocol-op having an OID corresponding to the provided control decoder.- Specified by:
getControl
in interfaceProtocolOp
- Type Parameters:
C
- The type of control to be decoded and returned.- Parameters:
decoder
- The control decoder.options
- The set of decode options which should be used when decoding the control.- Returns:
- The decoded control, or
null
if the control is not included with this protocol-op. - Throws:
DecodeException
- 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).
-
getControls
Description copied from interface:ProtocolOp
Returns aList
containing the controls included with this protocol-op. The returnedList
may be modified if permitted by this protocol-op.- Specified by:
getControls
in interfaceProtocolOp
- Returns:
- A
List
containing the controls.
-
getOid
String getOid()Returns the numeric OID associated with this extended request.- Returns:
- The numeric OID associated with this extended request.
-
getResultDecoder
ExtendedResultDecoder<S> getResultDecoder()Returns a decoder which can be used to decoded responses to this extended request.- Returns:
- A decoder which can be used to decoded responses to this extended request.
-
getValue
ByteString getValue()Returns the value, if any, associated with this extended request. Its format is defined by the specification of this extended request.- Returns:
- The value associated with this extended request, or
null
if there is no value.
-
hasValue
boolean hasValue()Returnstrue
if this extended request has a value. In some circumstances it may be useful to determine if a extended request has a value, without actually calculating the value and incurring any performance costs.- Returns:
true
if this extended request has a value, orfalse
if there is no value.
-