public class DifferentSubtreeTempEntryRenamingStrategy extends Object implements TempEntryRenamingStrategy
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.
Constructor and Description |
---|
DifferentSubtreeTempEntryRenamingStrategy(Name subtreeNode) |
DifferentSubtreeTempEntryRenamingStrategy(String subtreeNode) |
Modifier and Type | Method and Description |
---|---|
Name |
getSubtreeNode() |
Name |
getTemporaryName(Name originalName)
Get a temporary name for the current entry to be renamed to.
|
void |
setSubtreeNode(Name subtreeNode) |
public DifferentSubtreeTempEntryRenamingStrategy(Name subtreeNode)
public DifferentSubtreeTempEntryRenamingStrategy(String subtreeNode)
public Name getSubtreeNode()
public void setSubtreeNode(Name subtreeNode)
public Name getTemporaryName(Name originalName)
TempEntryRenamingStrategy
getTemporaryName
in interface TempEntryRenamingStrategy
originalName
- The original name of the entry.