netscape.ldap.controls
Class LDAPEntryChangeControl

java.lang.Object
  |
  +--netscape.ldap.LDAPControl
        |
        +--netscape.ldap.controls.LDAPEntryChangeControl

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:

See Also:
LDAPPersistSearchControl, LDAPConnection.getResponseControls()

Field Summary
static java.lang.String ENTRYCHANGED
           
 
Fields inherited from class netscape.ldap.LDAPControl
m_critical, m_value, MANAGEDSAIT, PWEXPIRED, PWEXPIRING
 
Constructor Summary
LDAPEntryChangeControl()
          Constructs a new LDAPEntryChangeControl object.
LDAPEntryChangeControl(java.lang.String oid, boolean critical, byte[] value)
          Contructs an LDAPEntryChangedControl object.
 
Method Summary
 int getChangeNumber()
          Gets the change number, which identifies the record of the change in the server's change log.
 int getChangeType()
          Gets the change type, which identifies the type of change that occurred.
 java.lang.String getPreviousDN()
          Gets the previous DN of the entry (if the entry was renamed).
 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.
 void setChangeType(int num)
          Sets the change type (which identifies the type of change that occurred) in this "entry change notification" control.
 void setPreviousDN(java.lang.String dn)
          Sets the previous DN of the entry (if the entry was renamed) in the "entry change notification control".
 java.lang.String toString()
          Return a string representation of the control for debugging
 
Methods inherited from class netscape.ldap.LDAPControl
clone, createControl, flattenBER, getID, getValue, isCritical, lookupControlClass, newInstance, register
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ENTRYCHANGED

public static final java.lang.String ENTRYCHANGED
Constructor Detail

LDAPEntryChangeControl

public LDAPEntryChangeControl()
Constructs a new LDAPEntryChangeControl object.
See Also:
LDAPControl, LDAPPersistSearchControl

LDAPEntryChangeControl

public LDAPEntryChangeControl(java.lang.String oid,
                              boolean critical,
                              byte[] value)
                       throws LDAPException,
                              java.io.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.
java.io.IOException - If value is not a valid BER sequence.
See Also:
LDAPControl.register(java.lang.String, java.lang.Class)
Method Detail

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:
getChangeNumber()

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:
getChangeType()

setPreviousDN

public void setPreviousDN(java.lang.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:
getPreviousDN()

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:
setChangeNumber(int)

getChangeType

public int getChangeType()
Gets the change type, which identifies the type of change that occurred.
See Also:
setChangeType(int)

getPreviousDN

public java.lang.String getPreviousDN()
Gets the previous DN of the entry (if the entry was renamed).
See Also:
setPreviousDN(java.lang.String)

toString

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