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.
-