Class AbstractExtendedRequest<ER extends ExtendedRequest<S>,S extends ExtendedResult>
java.lang.Object
org.forgerock.opendj.ldap.messages.AbstractExtendedRequest<ER,S>
- Type Parameters:
ER- The type of extended request.S- The type of result.
- All Implemented Interfaces:
ExtendedRequest<S>,ProtocolOp,Request
- Direct Known Subclasses:
CancelExtendedRequest,GenericExtendedRequest,PasswordModifyExtendedRequest,StartTlsExtendedRequest,WhoAmIExtendedRequest
public abstract class AbstractExtendedRequest<ER extends ExtendedRequest<S>,S extends ExtendedResult>
extends Object
implements ExtendedRequest<S>
An abstract Extended request which can be used as the basis for implementing new Extended operations.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.forgerock.opendj.ldap.messages.Request
Request.RequestType -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedCreates a new abstract extended request.protectedAbstractExtendedRequest(ExtendedRequest<S> extendedRequest) Creates a new extended request that is an exact copy of the provided request. -
Method Summary
Modifier and TypeMethodDescription<R,P, E extends Exception>
Raccept(RequestVisitor<R, P, E> v, P p) Applies aRequestVisitorto thisRequest.final ERaddControl(Control control) Adds the provided control to this protocol-op.final ERaddControls(Iterable<? extends Control> controls) Adds the provided controls to this protocol-op.final booleancontainsControl(String oid) Returnstrueif this protocol-op contains the specified control.final <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.abstract StringgetOid()Returns the numeric OID associated with this extended request.abstract ExtendedResultDecoder<S>Returns a decoder which can be used to decoded responses to this extended request.getType()Returns the type of this request to avoid expensiveinstanceofchecks.abstract ByteStringgetValue()Returns the value, if any, associated with this extended request.abstract booleanhasValue()Returnstrueif this extended request has a value.final ERremoveControls(String oid) Removes all the controls having the specified OID.toString()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.forgerock.opendj.ldap.messages.ExtendedRequest
addControl, addControls, getControl, getControls, removeControlsMethods inherited from interface org.forgerock.opendj.ldap.messages.ProtocolOp
containsControl, getControl
-
Constructor Details
-
AbstractExtendedRequest
protected AbstractExtendedRequest()Creates a new abstract extended request. -
AbstractExtendedRequest
Creates a new extended request that is an exact copy of the provided request.- Parameters:
extendedRequest- The extended request to be copied.- Throws:
NullPointerException- IfextendedRequestwasnull.
-
-
Method Details
-
accept
Description copied from interface:RequestApplies aRequestVisitorto thisRequest.- Specified by:
acceptin interfaceRequest- Type Parameters:
R- The return type of the visitor's methods.P- The type of the additional parameters to the visitor's methods.E- The type of the exception thrown by the visitor method if it fails, orNeverThrowsExceptionif the visitor cannot fail.- Parameters:
v- The request visitor.p- Optional additional visitor parameter.- Returns:
- A result as specified by the visitor.
- Throws:
E- If the visitor failed.
-
getOid
Description copied from interface:ExtendedRequestReturns the numeric OID associated with this extended request.- Specified by:
getOidin interfaceExtendedRequest<ER extends ExtendedRequest<S>>- Returns:
- The numeric OID associated with this extended request.
-
getResultDecoder
Description copied from interface:ExtendedRequestReturns a decoder which can be used to decoded responses to this extended request.- Specified by:
getResultDecoderin interfaceExtendedRequest<ER extends ExtendedRequest<S>>- Returns:
- A decoder which can be used to decoded responses to this extended request.
-
getValue
Description copied from interface:ExtendedRequestReturns the value, if any, associated with this extended request. Its format is defined by the specification of this extended request.- Specified by:
getValuein interfaceExtendedRequest<ER extends ExtendedRequest<S>>- Returns:
- The value associated with this extended request, or
nullif there is no value.
-
hasValue
public abstract boolean hasValue()Description copied from interface:ExtendedRequestReturnstrueif 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.- Specified by:
hasValuein interfaceExtendedRequest<ER extends ExtendedRequest<S>>- Returns:
trueif this extended request has a value, orfalseif there is no value.
-
getType
Description copied from interface:RequestReturns the type of this request to avoid expensiveinstanceofchecks. -
toString
-
addControl
Description copied from interface:ProtocolOpAdds the provided control to this protocol-op.- Specified by:
addControlin interfaceProtocolOp- 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- 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- Parameters:
oid- The numeric OID of the protocol-op control to remove.- Returns:
- This protocol-op.
-
containsControl
Description copied from interface:ProtocolOpReturnstrueif this protocol-op contains the specified control.- Specified by:
containsControlin interfaceProtocolOp- Parameters:
oid- The numeric OID of the protocol-op control.- Returns:
trueif this protocol-op contains the specified control.
-
getControl
public final <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.
-