Class PreReadResponseControl

  • All Implemented Interfaces:
    DecodeableControl, java.io.Serializable

    @NotMutable
    @ThreadSafety(level=COMPLETELY_THREADSAFE)
    public final class PreReadResponseControl
    extends Control
    implements DecodeableControl
    This class provides an implementation of the LDAP pre-read response control as defined in RFC 4527. It may be used to return a copy of the target entry immediately before processing a delete, modify, or modify DN operation.

    If the corresponding delete, modify, or modify DN request included the PreReadRequestControl and the operation was successful, then the response for that operation should include the pre-read response control with a read-only copy of the entry as it appeared immediately before processing the request. If the operation was not successful, then the pre-read response control will not be returned.
    See Also:
    Serialized Form
    • Constructor Detail

      • PreReadResponseControl

        public PreReadResponseControl​(ReadOnlyEntry entry)
        Creates a new pre-read response control including the provided entry.
        Parameters:
        entry - The entry to include in this pre-read response control. It must not be null.
      • PreReadResponseControl

        public PreReadResponseControl​(java.lang.String oid,
                                      boolean isCritical,
                                      ASN1OctetString value)
                               throws LDAPException
        Creates a new pre-read response control with the provided information.
        Parameters:
        oid - The OID for the control.
        isCritical - Indicates whether the control should be marked critical.
        value - The encoded value for the control. This may be null if no value was provided.
        Throws:
        LDAPException - If the provided control cannot be decoded as a pre-read response control.
    • Method Detail

      • decodeControl

        public PreReadResponseControl decodeControl​(java.lang.String oid,
                                                    boolean isCritical,
                                                    ASN1OctetString value)
                                             throws LDAPException
        Creates a new instance of this decodeable control from the provided information.
        Specified by:
        decodeControl in interface DecodeableControl
        Parameters:
        oid - The OID for the control.
        isCritical - Indicates whether the control should be marked critical.
        value - The encoded value for the control. This may be null if no value was provided.
        Returns:
        The decoded representation of this control.
        Throws:
        LDAPException - If the provided information cannot be decoded as a valid instance of this decodeable control.
      • get

        public static PreReadResponseControl get​(LDAPResult result)
                                          throws LDAPException
        Extracts a pre-read response control from the provided result.
        Parameters:
        result - The result from which to retrieve the pre-read response control.
        Returns:
        The pre-read response control contained in the provided result, or null if the result did not contain a pre-read response control.
        Throws:
        LDAPException - If a problem is encountered while attempting to decode the pre-read response control contained in the provided result.
      • getEntry

        public ReadOnlyEntry getEntry()
        Retrieves a read-only copy of the entry returned by this post-read response control.
        Returns:
        A read-only copy of the entry returned by this post-read response control.
      • getControlName

        public java.lang.String getControlName()
        Retrieves the user-friendly name for this control, if available. If no user-friendly name has been defined, then the OID will be returned.
        Overrides:
        getControlName in class Control
        Returns:
        The user-friendly name for this control, or the OID if no user-friendly name is available.
      • toString

        public void toString​(java.lang.StringBuilder buffer)
        Appends a string representation of this LDAP control to the provided buffer.
        Overrides:
        toString in class Control
        Parameters:
        buffer - The buffer to which to append the string representation of this buffer.