Spring LDAP

org.springframework.ldap.transaction.compensating.support
Class DifferentSubtreeTempEntryRenamingStrategy

java.lang.Object
  extended by org.springframework.ldap.transaction.compensating.support.DifferentSubtreeTempEntryRenamingStrategy
All Implemented Interfaces:
TempEntryRenamingStrategy

public class DifferentSubtreeTempEntryRenamingStrategy
extends Object
implements TempEntryRenamingStrategy

A TempEntryRenamingStrategy that moves the entry to a different subtree than the original entry. The specified subtree needs to be present in the LDAP tree; it will not be created and operations using this strategy will fail if the destination is not in place. However, this strategy is preferable to DefaultTempEntryRenamingStrategy, as it makes searches have the expected result even though the temporary entry still exists during the transaction.

Example: If the specified subtreeNode is ou=tempEntries and the originalName is cn=john doe, ou=company1, c=SE, the result of getTemporaryName(Name) will be cn=john doe1, ou=tempEntries. The "1" suffix is a sequence number needed to prevent potential collisions in the temporary storage.

Since:
1.2
Author:
Mattias Hellborg Arthursson

Constructor Summary
DifferentSubtreeTempEntryRenamingStrategy(Name subtreeNode)
           
DifferentSubtreeTempEntryRenamingStrategy(String subtreeNode)
           
 
Method Summary
 Name getSubtreeNode()
           
 Name getTemporaryName(Name originalName)
          Get a temporary name for the current entry to be renamed to.
 void setSubtreeNode(Name subtreeNode)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DifferentSubtreeTempEntryRenamingStrategy

public DifferentSubtreeTempEntryRenamingStrategy(Name subtreeNode)

DifferentSubtreeTempEntryRenamingStrategy

public DifferentSubtreeTempEntryRenamingStrategy(String subtreeNode)
Method Detail

getSubtreeNode

public Name getSubtreeNode()

setSubtreeNode

public void setSubtreeNode(Name subtreeNode)

getTemporaryName

public Name getTemporaryName(Name originalName)
Description copied from interface: TempEntryRenamingStrategy
Get a temporary name for the current entry to be renamed to.

Specified by:
getTemporaryName in interface TempEntryRenamingStrategy
Parameters:
originalName - The original name of the entry.
Returns:
The name to which the entry should be temporarily renamed according to this strategy.

Spring LDAP