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.
  • Constructor Details

    • 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 - If extendedRequest was null .
  • Method Details

    • accept

      public <R, P, E extends Exception> R accept(RequestVisitor<R,P,E> v, P p) throws E
      Description copied from interface: Request
      Applies a RequestVisitor to this Request.
      Specified by:
      accept in interface Request
      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, or NeverThrowsException 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.
    • getOid

      public abstract String getOid()
      Description copied from interface: ExtendedRequest
      Returns the numeric OID associated with this extended request.
      Specified by:
      getOid in interface ExtendedRequest<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 interface ExtendedRequest<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 interface ExtendedRequest<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
      Returns true 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 interface ExtendedRequest<ER extends ExtendedRequest<S>>
      Returns:
      true if this extended request has a value, or false if there is no value.
    • getType

      public Request.RequestType getType()
      Description copied from interface: Request
      Returns the type of this request to avoid expensive instanceof checks.
      Specified by:
      getType in interface Request
      Returns:
      the type of this request
    • toString

      public String toString()
    • addControl

      public final ER addControl(Control control)
      Description copied from interface: ProtocolOp
      Adds the provided control to this protocol-op.
      Specified by:
      addControl in interface ProtocolOp
      Parameters:
      control - The control to be added to this protocol-op.
      Returns:
      This protocol-op.
    • addControls

      public final ER addControls(Iterable<? extends Control> controls)
      Description copied from interface: ProtocolOp
      Adds the provided controls to this protocol-op.
      Specified by:
      addControls in interface ProtocolOp
      Parameters:
      controls - The controls to be added to this protocol-op.
      Returns:
      This protocol-op.
    • removeControls

      public final ER removeControls(String oid)
      Description copied from interface: ProtocolOp
      Removes all the controls having the specified OID.
      Specified by:
      removeControls in interface ProtocolOp
      Parameters:
      oid - The numeric OID of the protocol-op control to remove.
      Returns:
      This protocol-op.
    • containsControl

      public final boolean containsControl(String oid)
      Description copied from interface: ProtocolOp
      Returns true if this protocol-op contains the specified control.
      Specified by:
      containsControl in interface ProtocolOp
      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 interface ProtocolOp
      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 a List containing the controls included with this protocol-op. The returned List may be modified if permitted by this protocol-op.
      Specified by:
      getControls in interface ProtocolOp
      Returns:
      A List containing the controls.