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