Class DifferentSubtreeTempEntryRenamingStrategy

  • All Implemented Interfaces:
    TempEntryRenamingStrategy

    public class DifferentSubtreeTempEntryRenamingStrategy
    extends java.lang.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 Detail

      • DifferentSubtreeTempEntryRenamingStrategy

        public DifferentSubtreeTempEntryRenamingStrategy​(javax.naming.Name subtreeNode)
      • DifferentSubtreeTempEntryRenamingStrategy

        public DifferentSubtreeTempEntryRenamingStrategy​(java.lang.String subtreeNode)
    • Method Detail

      • getSubtreeNode

        public javax.naming.Name getSubtreeNode()
      • setSubtreeNode

        public void setSubtreeNode​(javax.naming.Name subtreeNode)
      • getTemporaryName

        public javax.naming.Name getTemporaryName​(javax.naming.Name originalName)
        Description copied from interface: TempEntryRenamingStrategy
        Get a temporary name for the current entry to be renamed to.
        Specified by:
        getTemporaryName in interface TempEntryRenamingStrategy
        Parameters:
        originalName - The original name of the entry.
        Returns:
        The name to which the entry should be temporarily renamed according to this strategy.