Class DifferentSubtreeTempEntryRenamingStrategy
java.lang.Object
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
-
Constructor Summary
ConstructorsConstructorDescriptionDifferentSubtreeTempEntryRenamingStrategy(String subtreeNode) DifferentSubtreeTempEntryRenamingStrategy(Name subtreeNode) -
Method Summary
Modifier and TypeMethodDescriptiongetTemporaryName(Name originalName) Get a temporary name for the current entry to be renamed to.voidsetSubtreeNode(Name subtreeNode)
-
Constructor Details
-
DifferentSubtreeTempEntryRenamingStrategy
-
DifferentSubtreeTempEntryRenamingStrategy
-
-
Method Details
-
getSubtreeNode
-
setSubtreeNode
-
getTemporaryName
Description copied from interface:TempEntryRenamingStrategyGet a temporary name for the current entry to be renamed to.- Specified by:
getTemporaryNamein interfaceTempEntryRenamingStrategy- Parameters:
originalName- The original name of the entry.- Returns:
- The name to which the entry should be temporarily renamed according to this strategy.
-