Class AbstractExtendedResult<S extends ExtendedResult>

java.lang.Object
org.forgerock.opendj.ldap.messages.AbstractExtendedResult<S>
Type Parameters:
S - The type of Extended result.
All Implemented Interfaces:
ExtendedResult, ProtocolOp, Response, Result

public abstract class AbstractExtendedResult<S extends ExtendedResult> extends Object implements ExtendedResult
An abstract Extended result which can be used as the basis for implementing new Extended operations.
  • Constructor Details

    • AbstractExtendedResult

      protected AbstractExtendedResult(ExtendedResult extendedResult)
      Creates a new extended result that is an exact copy of the provided result.
      Parameters:
      extendedResult - The extended result to be copied.
      Throws:
      NullPointerException - If extendedResult was null .
    • AbstractExtendedResult

      protected AbstractExtendedResult(ResultCode resultCode)
      Creates a new extended result using the provided result code.
      Parameters:
      resultCode - The result code.
      Throws:
      NullPointerException - If resultCode was null.
  • Method Details

    • getOid

      public abstract String getOid()
      Description copied from interface: ExtendedResult
      Returns the numeric OID, if any, associated with this extended result.
      Specified by:
      getOid in interface ExtendedResult
      Returns:
      The numeric OID associated with this extended result, or null if there is no OID.
    • getValue

      public abstract ByteString getValue()
      Description copied from interface: ExtendedResult
      Returns the value, if any, associated with this extended result. Its format is defined by the specification of this extended result.
      Specified by:
      getValue in interface ExtendedResult
      Returns:
      The value associated with this extended result, or null if there is no value.
    • hasValue

      public abstract boolean hasValue()
      Description copied from interface: ExtendedResult
      Returns true if this extended result has a value. In some circumstances it may be useful to determine if a extended result has a value, without actually calculating the value and incurring any performance costs.
      Specified by:
      hasValue in interface ExtendedResult
      Returns:
      true if this extended result has a value, or false if there is no value.
    • toString

      public String toString()
    • addReferralUri

      public final S addReferralUri(String uri)
      Description copied from interface: Result
      Adds the provided referral URI to this result.
      Specified by:
      addReferralUri in interface Result
      Parameters:
      uri - The referral URI to be added.
      Returns:
      This result.
    • getCause

      public final Throwable getCause()
      Description copied from interface: Result
      Returns the throwable cause associated with this result if available. A cause may be provided in cases where a result indicates a failure due to a client-side error.
      Specified by:
      getCause in interface Result
      Returns:
      The throwable cause, or null if none was provided.
    • getDiagnosticMessage

      public final LocalizableMessage getDiagnosticMessage()
      Description copied from interface: Result
      Returns the diagnostic message associated with this result.
      Specified by:
      getDiagnosticMessage in interface Result
      Returns:
      The diagnostic message, which may be empty if none was provided (never null).
    • getDiagnosticMessageAsString

      public final String getDiagnosticMessageAsString()
      Description copied from interface: Result
      Returns the diagnostic message associated with this result as a string.
      Specified by:
      getDiagnosticMessageAsString in interface Result
      Returns:
      The diagnostic message, which may be empty if none was provided (never null).
    • getMatchedDn

      public final String getMatchedDn()
      Description copied from interface: Result
      Returns the matched DN associated with this result.
      Specified by:
      getMatchedDn in interface Result
      Returns:
      The matched DN, which may be empty if none was provided (never null).
    • getReferralUris

      public final List<String> getReferralUris()
      Description copied from interface: Result
      Returns a List containing the referral URIs included with this result. The returned List may be modified if permitted by this result.
      Specified by:
      getReferralUris in interface Result
      Returns:
      A List containing the referral URIs.
    • getResultCode

      public final ResultCode getResultCode()
      Description copied from interface: Result
      Returns the result code associated with this result.
      Specified by:
      getResultCode in interface Result
      Returns:
      The result code.
    • isReferral

      public final boolean isReferral()
      Description copied from interface: Result
      Indicates whether a referral needs to be chased in order to complete the operation.

      Specifically, this method returns true if the result code is equal to ResultCode.REFERRAL.

      Specified by:
      isReferral in interface Result
      Returns:
      true if a referral needs to be chased, otherwise false.
    • isSuccess

      public final boolean isSuccess()
      Description copied from interface: Result
      Indicates whether the request succeeded or not. This method will return {code true} for all non-error responses.
      Specified by:
      isSuccess in interface Result
      Returns:
      true if the request succeeded, otherwise false.
    • setCause

      public final S setCause(Throwable cause)
      Description copied from interface: Result
      Sets the throwable cause associated with this result if available. A cause may be provided in cases where a result indicates a failure due to a client-side error.
      Specified by:
      setCause in interface Result
      Parameters:
      cause - The throwable cause, which may be null indicating that none was provided.
      Returns:
      This result.
    • setDiagnosticMessage

      public final S setDiagnosticMessage(CharSequence message)
      Description copied from interface: Result
      Sets the diagnostic message associated with this result.
      Specified by:
      setDiagnosticMessage in interface Result
      Parameters:
      message - The diagnostic message, which may be empty or null indicating that none was provided.
      Returns:
      This result.
    • setMatchedDn

      public final S setMatchedDn(String dn)
      Description copied from interface: Result
      Sets the matched DN associated with this result.
      Specified by:
      setMatchedDn in interface Result
      Parameters:
      dn - The matched DN associated, which may be empty or null indicating that none was provided.
      Returns:
      This result.
    • setMatchedDn

      public final S setMatchedDn(Dn dn)
      Description copied from interface: Result
      Sets the matched DN associated with this result.
      Specified by:
      setMatchedDn in interface Result
      Parameters:
      dn - The matched DN associated, which may be empty or null indicating that none was provided.
      Returns:
      This result.
    • setResultCode

      public final S setResultCode(ResultCode resultCode)
      Description copied from interface: Result
      Sets the result code associated with this result.
      Specified by:
      setResultCode in interface Result
      Parameters:
      resultCode - The result code.
      Returns:
      This result.
    • addControl

      public final S 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 S 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 S 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.