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
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
Constructors Modifier Constructor Description protected
AbstractExtendedRequest()
Creates a new abstract extended request.protected
AbstractExtendedRequest(ExtendedRequest<S> extendedRequest)
Creates a new extended request that is an exact copy of the provided request.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description <R,P,E extends Exception>
Raccept(RequestVisitor<R,P,E> v, P p)
Applies aRequestVisitor
to thisRequest
.M
addControl(Control control)
Adds the provided control to this protocol-op.M
addControls(Iterable<? extends Control> controls)
Adds the provided controls to this protocol-op.boolean
containsControl(String oid)
Returnstrue
if this protocol-op contains the specified control.<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.abstract String
getOid()
Returns the numeric OID associated with this extended request.abstract ExtendedResultDecoder<S>
getResultDecoder()
Returns a decoder which can be used to decoded responses to this extended request.Request.RequestType
getType()
Returns the type of this request to avoid expensiveinstanceof
checks.abstract ByteString
getValue()
Returns the value, if any, associated with this extended request.abstract boolean
hasValue()
Returnstrue
if this extended request has a value.String
toString()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.forgerock.opendj.ldap.messages.ExtendedRequest
addControl, addControls, getControl, getControls
-
Methods inherited from interface org.forgerock.opendj.ldap.messages.ProtocolOp
containsControl, getControl
-
-
-
-
Constructor Detail
-
AbstractExtendedRequest
protected AbstractExtendedRequest()
Creates a new abstract extended request.
-
AbstractExtendedRequest
protected AbstractExtendedRequest(ExtendedRequest<S> extendedRequest)
Creates a new extended request that is an exact copy of the provided request.- Parameters:
extendedRequest
- The extended request to be copied.- Throws:
NullPointerException
- IfextendedRequest
wasnull
.
-
-
Method Detail
-
accept
public <R,P,E extends Exception> R accept(RequestVisitor<R,P,E> v, P p) throws E extends Exception
Description copied from interface:Request
Applies aRequestVisitor
to thisRequest
.- Specified by:
accept
in 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, orNeverThrowsException
if 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.E extends Exception
-
getOid
public abstract String getOid()
Description copied from interface:ExtendedRequest
Returns the numeric OID associated with this extended request.- Specified by:
getOid
in interfaceExtendedRequest<ER extends ExtendedRequest<S>>
- Returns:
- The numeric OID associated with this extended request.
-
getResultDecoder
public abstract ExtendedResultDecoder<S> getResultDecoder()
Description copied from interface:ExtendedRequest
Returns a decoder which can be used to decoded responses to this extended request.- Specified by:
getResultDecoder
in interfaceExtendedRequest<ER extends ExtendedRequest<S>>
- Returns:
- A decoder which can be used to decoded responses to this extended request.
-
getValue
public abstract ByteString getValue()
Description copied from interface:ExtendedRequest
Returns the value, if any, associated with this extended request. Its format is defined by the specification of this extended request.- Specified by:
getValue
in interfaceExtendedRequest<ER extends ExtendedRequest<S>>
- Returns:
- The value associated with this extended request, or
null
if there is no value.
-
hasValue
public abstract boolean hasValue()
Description copied from interface:ExtendedRequest
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.- Specified by:
hasValue
in interfaceExtendedRequest<ER extends ExtendedRequest<S>>
- Returns:
true
if this extended request has a value, orfalse
if there is no value.
-
getType
public Request.RequestType getType()
Description copied from interface:Request
Returns the type of this request to avoid expensiveinstanceof
checks.
-
toString
public String toString()
-
addControl
public final M addControl(Control control)
Description copied from interface:ProtocolOp
Adds the provided control to this protocol-op.- Specified by:
addControl
in interfaceProtocolOp
- Parameters:
control
- The control to be added to this protocol-op.- Returns:
- This protocol-op.
-
addControls
public final M addControls(Iterable<? extends Control> controls)
Description copied from interface:ProtocolOp
Adds the provided controls to this protocol-op.- Specified by:
addControls
in interfaceProtocolOp
- Parameters:
controls
- The controls to be added to this protocol-op.- Returns:
- This protocol-op.
-
containsControl
public final boolean containsControl(String oid)
Description copied from interface:ProtocolOp
Returnstrue
if this protocol-op contains the specified control.- Specified by:
containsControl
in interfaceProtocolOp
- Parameters:
oid
- The numeric OID of the protocol-op control.- Returns:
true
if 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: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
public final 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.
-
-