netscape.ldap.controls

Class LDAPEntryChangeControl

Implemented Interfaces:
Cloneable, java.io.Serializable

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(), Serialized Form

Field Summary

static String
ENTRYCHANGED

Fields inherited from class netscape.ldap.LDAPControl

MANAGEDSAIT, PWEXPIRED, PWEXPIRING, m_critical, m_value

Constructor Summary

LDAPEntryChangeControl()
Constructs a new LDAPEntryChangeControl object.
LDAPEntryChangeControl(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.
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(String dn)
Sets the previous DN of the entry (if the entry was renamed) in the "entry change notification control".
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, toString

Field Details

ENTRYCHANGED

public static final String ENTRYCHANGED

Constructor Details

LDAPEntryChangeControl

public LDAPEntryChangeControl()
Constructs a new LDAPEntryChangeControl object.

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.

Method Details

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.

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)


getPreviousDN

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

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

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)


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

toString

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