org.apache.directory.shared.ldap.codec.search.controls
Class EntryChangeControlCodec
java.lang.Object
org.apache.directory.shared.asn1.AbstractAsn1Object
org.apache.directory.shared.ldap.codec.search.controls.EntryChangeControlCodec
- All Implemented Interfaces:
- Asn1Object
public class EntryChangeControlCodec
- extends AbstractAsn1Object
A response control that may be returned by Persistent Search entry responses.
It contains addition change information to describe the exact change that
occurred 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: 679468 $, $Date: 2008-07-24 19:29:00 +0200 (Do, 24 Jul 2008) $,
- Author:
- Apache Directory Project
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
EntryChangeControlCodec
public EntryChangeControlCodec()
- See Also:
Asn1Object#Asn1Object
computeLength
public int computeLength()
- Compute the EntryChangeControl length
0x30 L1
|
+--> 0x0A 0x0(1-4) [1|2|4|8] (changeType)
[+--> 0x04 L2 previousDN]
[+--> 0x02 0x0(1-4) [0..2^63-1] (changeNumber)]
- Specified by:
computeLength
in interface Asn1Object
- Specified by:
computeLength
in class AbstractAsn1Object
- Returns:
- The object's computed length
encode
public java.nio.ByteBuffer encode(java.nio.ByteBuffer buffer)
throws EncoderException
- Encodes the entry change control.
- Specified by:
encode
in interface Asn1Object
- Overrides:
encode
in class AbstractAsn1Object
- Parameters:
buffer
- The encoded sink
- Returns:
- A ByteBuffer that contains the encoded PDU
- Throws:
EncoderException
- If anything goes wrong.
toString
public java.lang.String toString()
- Return a String representing this EntryChangeControl.
- Overrides:
toString
in class java.lang.Object
getChangeType
public ChangeType getChangeType()
setChangeType
public void setChangeType(ChangeType changeType)
getPreviousDn
public LdapDN getPreviousDn()
setPreviousDn
public void setPreviousDn(LdapDN previousDn)
getChangeNumber
public long getChangeNumber()
setChangeNumber
public void setChangeNumber(long changeNumber)
Copyright © 2003-2011 Apache Software Foundation. All Rights Reserved.