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 aListcontaining 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.booleanhasValue()Returnstrueif 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:ProtocolOpAdds the provided control to this protocol-op.- Specified by:
addControlin interfaceProtocolOp- Specified by:
addControlin interfaceRequest- Parameters:
control- The control to be added to this protocol-op.- Returns:
- This protocol-op.
-
addControls
Description copied from interface:ProtocolOpAdds the provided controls to this protocol-op.- Specified by:
addControlsin interfaceProtocolOp- Specified by:
addControlsin interfaceRequest- Parameters:
controls- The controls to be added to this protocol-op.- Returns:
- This protocol-op.
-
removeControls
Description copied from interface:ProtocolOpRemoves all the controls having the specified OID.- Specified by:
removeControlsin interfaceProtocolOp- Specified by:
removeControlsin 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:ProtocolOpDecodes and returns the first control in this protocol-op having an OID corresponding to the provided control decoder.- Specified by:
getControlin 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
nullif 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:ProtocolOpReturns aListcontaining the controls included with this protocol-op. The returnedListmay be modified if permitted by this protocol-op.- Specified by:
getControlsin interfaceProtocolOp- Returns:
- A
Listcontaining 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
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.
-