Interface ExtendedRequest<S extends ExtendedResult>
-
- Type Parameters:
S- The type of result.
- All Superinterfaces:
ProtocolOp,Request
- All Known Subinterfaces:
CancelExtendedRequest,GenericExtendedRequest,PasswordModifyExtendedRequest,StartTlsExtendedRequest,WhoAmIExtendedRequest
- All Known Implementing Classes:
AbstractExtendedRequest
public interface ExtendedRequest<S extends ExtendedResult> extends Request
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 (seeStartTlsExtendedRequest).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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ExtendedRequest<S>addControl(Control control)Adds the provided control to this protocol-op.ExtendedRequest<S>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.List<Control>getControls()Returns aListcontaining the controls included with this protocol-op.StringgetOid()Returns the numeric OID associated with this extended request.ExtendedResultDecoder<S>getResultDecoder()Returns a decoder which can be used to decoded responses to this extended request.ByteStringgetValue()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.messages.ProtocolOp
containsControl, getControl
-
-
-
-
Method Detail
-
addControl
ExtendedRequest<S> addControl(Control control)
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
ExtendedRequest<S> addControls(Iterable<? extends Control> controls)
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.
-
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
List<Control> 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.
-
-