Class LDAPEntryChangeControl

java.lang.Object
netscape.ldap.LDAPControl
netscape.ldap.controls.LDAPEntryChangeControl
All Implemented Interfaces:
Serializable, Cloneable

public class LDAPEntryChangeControl extends LDAPControl
Represents an LDAP v3 server control that specifies information about a change to an entry in the directory. (The OID for this control is 2.16.840.1.113730.3.4.7.) You need to use this control in conjunction with a "persistent search" control (represented by LDAPPersistentSearchControl object.

To use persistent searching for change notification, you create a "persistent search" control that specifies the types of changes that you want to track. When an entry is changed, the server sends that entry back to your client and may include an "entry change notification" control that specifies additional information about the change.

Typically, you use the getResponseControls method of the LDAPConnection object to get any LDAPEntryChangeControl objects returned by the server.

Once you retrieve an LDAPEntryChangeControl object from the server, you can get the following additional information about the change made to the entry:

  • The type of change made (add, modify, delete, or modify DN)
  • The change number identifying the record of the change in the change log (if the server supports change logs)
  • If the entry was renamed, the old DN of the entry

See Also:
  • Field Details

  • Constructor Details

    • LDAPEntryChangeControl

      public LDAPEntryChangeControl()
      Constructs a new LDAPEntryChangeControl object.
      See Also:
    • LDAPEntryChangeControl

      public LDAPEntryChangeControl(String oid, boolean critical, byte[] value) throws LDAPException, IOException
      Contructs an LDAPEntryChangedControl object. This constructor is used by LDAPControl.register to instantiate entry change controls.
      Parameters:
      oid - this parameter must be LDAPEntryChangeControl.ENTRYCHANGED or an LDAPException is thrown
      critical - true if this control is critical
      value - the value associated with this control
      Throws:
      LDAPException - If oid is not LDAPEntryChangeControl.ENTRYCHANGED.
      IOException - If value is not a valid BER sequence.
      See Also:
  • Method Details

    • setChangeNumber

      public void setChangeNumber(int num)
      Sets the change number (which identifies the record of the change in the server's change log) in this "entry change notification" control.
      Parameters:
      num - change number to set
      See Also:
    • setChangeType

      public void setChangeType(int num)
      Sets the change type (which identifies the type of change that occurred) in this "entry change notification" control.
      Parameters:
      num - change type to set. This can be one of the following values:

      • LDAPPersistSearchControl.ADD (a new entry was added to the directory)
      • LDAPPersistSearchControl.DELETE (an entry was removed from the directory)
      • LDAPPersistSearchControl.MODIFY (an entry was modified)
      • LDAPPersistSearchControl.MODDN (an entry was renamed)

      See Also:
    • setPreviousDN

      public void setPreviousDN(String dn)
      Sets the previous DN of the entry (if the entry was renamed) in the "entry change notification control".
      Parameters:
      dn - the previous distinguished name of the entry
      See Also:
    • getChangeNumber

      public int getChangeNumber()
      Gets the change number, which identifies the record of the change in the server's change log.
      Returns:
      change number identifying the change made.
      See Also:
    • getChangeType

      public int getChangeType()
      Gets the change type, which identifies the type of change that occurred.
      Returns:
      change type identifying the type of change that occurred. This can be one of the following values:

      • LDAPPersistSearchControl.ADD (a new entry was added to the directory)
      • LDAPPersistSearchControl.DELETE (an entry was removed from the directory)
      • LDAPPersistSearchControl.MODIFY (an entry was modified)
      • LDAPPersistSearchControl.MODDN (an entry was renamed)

      See Also:
    • getPreviousDN

      public String getPreviousDN()
      Gets the previous DN of the entry (if the entry was renamed).
      Returns:
      the previous distinguished name of the entry.
      See Also:
    • toString

      public String toString()
      Description copied from class: LDAPControl
      Return a string representation of the control for debugging
      Overrides:
      toString in class LDAPControl
      Returns:
      a string representation of the control.