Interface IntermediateResponse

All Superinterfaces:
ProtocolOp, Response
All Known Subinterfaces:
GenericIntermediateResponse
All Known Implementing Classes:
AbstractIntermediateResponse

public interface IntermediateResponse extends Response
An Intermediate response provides a general mechanism for defining single-request/multiple-response operations. This response is intended to be used in conjunction with the Extended operation to define new single-request/multiple-response operations or in conjunction with a control when extending existing operations in a way that requires them to return Intermediate response information.

An Intermediate response may convey an optional response name and value. These can be retrieved using the getOid() and getValue() methods respectively.

See Also:
  • Method Details

    • addControl

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

      IntermediateResponse addControls(Iterable<? extends Control> controls)
      Description copied from interface: ProtocolOp
      Adds the provided controls to this protocol-op.
      Specified by:
      addControls in interface ProtocolOp
      Specified by:
      addControls in interface Response
      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 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

      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.
    • getOid

      String getOid()
      Returns the numeric OID, if any, associated with this intermediate response.
      Returns:
      The numeric OID associated with this intermediate response, or null if there is no OID.
    • getValue

      ByteString getValue()
      Returns the value, if any, associated with this intermediate response. Its format is defined by the specification of this intermediate response.
      Returns:
      The value associated with this intermediate response, or null if there is no value.
    • hasValue

      boolean hasValue()
      Returns true if this intermediate response has a value. In some circumstances it may be useful to determine if an intermediate response has a value, without actually calculating the value and incurring any performance costs.
      Returns:
      true if this intermediate response has a value, or false if there is no value.