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.void
setSubtreeNode
(Name subtreeNode)
-
Constructor Details
-
DifferentSubtreeTempEntryRenamingStrategy
-
DifferentSubtreeTempEntryRenamingStrategy
-
-
Method Details
-
getSubtreeNode
-
setSubtreeNode
-
getTemporaryName
Description copied from interface:TempEntryRenamingStrategy
Get a temporary name for the current entry to be renamed to.- Specified by:
getTemporaryName
in interfaceTempEntryRenamingStrategy
- Parameters:
originalName
- The original name of the entry.- Returns:
- The name to which the entry should be temporarily renamed according to this strategy.
-