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 aList
containing the controls included with this protocol-op.String
getOid()
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.ByteString
getValue()
Returns the value, if any, associated with this extended request.boolean
hasValue()
Returnstrue
if 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: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
ExtendedRequest<S> addControls(Iterable<? extends Control> controls)
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.
-
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
List<Control> 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.
-
-