Class AbstractExtendedRequest<ER extends ExtendedRequest<S>,​S extends ExtendedResult>

    • 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 - If extendedRequest was null .
    • 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 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.
        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 interface ExtendedRequest<ER extends ExtendedRequest<S>>
        Returns:
        The numeric OID associated with 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 M 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 M 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.
      • 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.