org.apache.directory.shared.ldap.codec.search.controls
Class EntryChangeControl
java.lang.Object
org.apache.directory.shared.asn1.Asn1Object
org.apache.directory.shared.ldap.codec.search.controls.EntryChangeControl
- public class EntryChangeControl
- extends org.apache.directory.shared.asn1.Asn1Object
A response control that may be returned by Persistent Search entry responses.
It contains addition change information to descrive the exact change that
occured to an entry. The exact details of this control are covered in section
5 of this (yes) expired draft:
Persistent Search Draft v03 which is printed out below for convenience:
5. Entry Change Notification Control
This control provides additional information about the change the caused
a particular entry to be returned as the result of a persistent search.
The controlType is "2.16.840.1.113730.3.4.7". If the client set the
returnECs boolean to TRUE in the PersistentSearch control, servers MUST
include an EntryChangeNotification control in the Controls portion of
each SearchResultEntry that is returned due to an entry being added,
deleted, or modified.
EntryChangeNotification ::= SEQUENCE
{
changeType ENUMERATED
{
add (1),
delete (2),
modify (4),
modDN (8)
},
previousDN LDAPDN OPTIONAL, -- modifyDN ops. only
changeNumber INTEGER OPTIONAL -- if supported
}
changeType indicates what LDAP operation caused the entry to be
returned.
previousDN is present only for modifyDN operations and gives the DN of
the entry before it was renamed and/or moved. Servers MUST include this
optional field only when returning change notifications as a result of
modifyDN operations.
changeNumber is the change number [CHANGELOG] assigned by a server for
the change. If a server supports an LDAP Change Log it SHOULD include
this field.
- Version:
- $Rev: 379008 $
- Author:
- Apache Directory Project
Fields inherited from class org.apache.directory.shared.asn1.Asn1Object |
parent |
Methods inherited from class org.apache.directory.shared.asn1.Asn1Object |
addLength, getCurrentLength, getExpectedLength, getParent, setCurrentLength, setExpectedLength, setParent |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
UNDEFINED_CHANGE_NUMBER
public static final int UNDEFINED_CHANGE_NUMBER
- See Also:
- Constant Field Values
EntryChangeControl
public EntryChangeControl()
computeLength
public int computeLength()
- Compute the EnryChangeControl length 0x30 L1 | +--> 0x0A 0x0(1-4)
[1|2|4|8] (changeType) +--> 0x04 L2 previousDN +--> 0x02 0x0(1-4)
[0..2^31-1] (changeNumber)
encode
public java.nio.ByteBuffer encode(java.nio.ByteBuffer buffer)
throws org.apache.directory.shared.asn1.codec.EncoderException
- Encodes the entry change control.
- Parameters:
buffer
- The encoded sink
- Returns:
- A ByteBuffer that contains the encoded PDU
- Throws:
org.apache.directory.shared.asn1.codec.EncoderException
- If anything goes wrong.
toString
public java.lang.String toString()
- Return a String representing this EntryChangeControl.
getChangeType
public ChangeType getChangeType()
setChangeType
public void setChangeType(ChangeType changeType)
getPreviousDn
public java.lang.String getPreviousDn()
setPreviousDn
public void setPreviousDn(java.lang.String previousDn)
setPreviousDn
public void setPreviousDn(LdapString previousDn)
getChangeNumber
public int getChangeNumber()
setChangeNumber
public void setChangeNumber(int changeNumber)
Copyright © 2003-2006 . All Rights Reserved.