Interface ExtendedRequest<S extends ExtendedResult>
- Type Parameters:
S- The type of result.
- All Superinterfaces:
Request
- All Known Subinterfaces:
CancelExtendedRequest,GenericExtendedRequest,PasswordModifyExtendedRequest,StartTLSExtendedRequest,WhoAmIExtendedRequest
- All Known Implementing Classes:
AbstractExtendedRequest
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...
}
-
Method Summary
Modifier and TypeMethodDescriptionaddControl(Control control) Adds the provided control to this request.<C extends Control>
CgetControl(ControlDecoder<C> decoder, DecodeOptions options) Decodes and returns the first control in this request having an OID corresponding to the provided control decoder.Returns aListcontaining the controls included with this request.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.booleanhasValue()Returnstrueif this extended request has a value.Methods inherited from interface org.forgerock.opendj.ldap.requests.Request
containsControl
-
Method Details
-
addControl
Description copied from interface:RequestAdds the provided control to this request.- Specified by:
addControlin interfaceRequest- Parameters:
control- The control to be added to this request.- Returns:
- This request.
-
getControl
<C extends Control> C getControl(ControlDecoder<C> decoder, DecodeOptions options) throws DecodeException Description copied from interface:RequestDecodes and returns the first control in this request having an OID corresponding to the provided control decoder.- Specified by:
getControlin interfaceRequest- 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
nullif the control is not included with this request. - 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:RequestReturns aListcontaining the controls included with this request. The returnedListmay be modified if permitted by this request.- Specified by:
getControlsin interfaceRequest- Returns:
- A
Listcontaining the controls.
-
getOID
Returns the numeric OID associated with this extended request.- Returns:
- The numeric OID associated with this extended request.
-
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
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
nullif there is no value.
-
hasValue
boolean hasValue()Returnstrueif 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:
trueif this extended request has a value, orfalseif there is no value.
-