org.apache.directory.shared.ldap.codec.search.controls
Class EntryChangeControl

java.lang.Object
  extended byorg.apache.directory.shared.asn1.Asn1Object
      extended byorg.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

Field Summary
static int UNDEFINED_CHANGE_NUMBER
           
 
Fields inherited from class org.apache.directory.shared.asn1.Asn1Object
parent
 
Constructor Summary
EntryChangeControl()
           
 
Method Summary
 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)
 java.nio.ByteBuffer encode(java.nio.ByteBuffer buffer)
          Encodes the entry change control.
 int getChangeNumber()
           
 ChangeType getChangeType()
           
 java.lang.String getPreviousDn()
           
 void setChangeNumber(int changeNumber)
           
 void setChangeType(ChangeType changeType)
           
 void setPreviousDn(LdapString previousDn)
           
 void setPreviousDn(java.lang.String previousDn)
           
 java.lang.String toString()
          Return a String representing this EntryChangeControl.
 
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
 

Field Detail

UNDEFINED_CHANGE_NUMBER

public static final int UNDEFINED_CHANGE_NUMBER
See Also:
Constant Field Values
Constructor Detail

EntryChangeControl

public EntryChangeControl()
Method Detail

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.