Class MoveSubtreeProperties

java.lang.Object
com.unboundid.ldap.sdk.unboundidds.MoveSubtreeProperties

This class defines a number of properties that can be used when attempting to move a subtree from one Ping Identity Directory Server instance to another Ping Identity Directory Server instance using restricted subtree accessibility.
NOTE: This class, and other classes within the com.unboundid.ldap.sdk.unboundidds package structure, are only supported for use against Ping Identity, UnboundID, and Nokia/Alcatel-Lucent 8661 server products. These classes provide support for proprietary functionality or for external specifications that are not considered stable or mature enough to be guaranteed to work in an interoperable way with other types of LDAP servers.
  • Constructor Details

    • MoveSubtreeProperties

      Creates a new set of properties that can be used when moving the specified subtree from one server to another.
      Parameters:
      baseDN - The base DN for the subtree to be moved. It must not be null, and it must represent a valid DN with one or more RDN components.
      Throws:
      LDAPException - If the provided string cannot be parsed as a valid DN.
    • MoveSubtreeProperties

      Creates a new set of properties that can be used when moving the specified subtree from one server to another.
      Parameters:
      baseDN - The base DN for the subtree to be moved. It must not be null, and it must have one or more RDN components.
    • MoveSubtreeProperties

      Creates a new set of properties that is a copy of the provided properties object.
      Parameters:
      properties - The properties object to use to create the new properties.
  • Method Details

    • getBaseDN

      @NotNull public DN getBaseDN()
      Retrieves the base DN of the subtree to move.
      Returns:
      The base DN of the subtree to move.
    • setBaseDN

      public void setBaseDN(@NotNull String baseDN) throws LDAPException
      Specifies the base DN of the subtree to move.
      Parameters:
      baseDN - The base DN for the subtree to be moved. It must not be null, and it must represent a valid DN with one or more RDN components.
      Throws:
      LDAPException - If the provided string cannot be parsed as a valid DN.
    • setBaseDN

      public void setBaseDN(@NotNull DN baseDN)
      Specifies the base DN of the subtree to move.
      Parameters:
      baseDN - The base DN for the subtree to be moved. It must not be null, and it must have one or more RDN components.
    • getMaximumAllowedSubtreeSize

      Retrieves the maximum number of entries that the target subtree may contain for it to be moved from one server to another.
      Returns:
      The maximum number of entries that the target subtree may contain for it to be moved from one server to another, or zero if no client-side size limit should be enforced (although the server may still impose its own size limit).
    • setMaximumAllowedSubtreeSize

      public void setMaximumAllowedSubtreeSize(int sizeLimit)
      Specifies the maximum number of entries that the target subtree may contain for it to be moved from one server to another. If the subtree contains more than the maximum number of entries, then the attempt to move it will be aborted before any changes are applied to the data in either server.
      Parameters:
      sizeLimit - The maximum number of entries tht the target subtree may contain for it to be moved from one server to another. A value that is less than or equal to zero indicates that no client-side size limit should be imposed. Note that the server may also impose a size limit, and the smaller of the client-side and server-side limits will be in effect.
    • useToBeDeletedAccessibilityState

      Indicates whether to use the SubtreeAccessibilityState.TO_BE_DELETED subtree accessibility state (as opposed to the HIDDEN state) for the target subtree on the source server before beginning to remove entries from it.
      Returns:
      true if the TO_BE_DELETED subtree accessibility state should be used, or false if the HIDDEN state should be used.
    • setUseToBeDeletedAccessibilityState

      public void setUseToBeDeletedAccessibilityState(boolean useToBeDeletedState)
      Specifies whether to use the SubtreeAccessibilityState.TO_BE_DELETED subtree accessibility state (as opposed to the HIDDEN state) for the target subtree on the source server before beginning to remove entries from it. Both the TO_BE_DELETED and HIDDEN subtree accessibility states will completely hide the target subtree from all clients expect those authenticated as a designated bypass-user account, but the key differences between these states include:
      • In some cases, the server may be able to process delete requests for entries in TO_BE_DELETED subtrees than for entries in subtrees with other accessibility states, including the HIDDEN state.
      • Support for the TO_BE_DELETED subtree accessibility state was added to the Directory Server more recently than support for the HIDDEN state. Older Directory Server instances may not support the TO_BE_DELETED state.
      • A HIDDEN subtree can be updated to give it a different accessibility state, but once a subtree has been placed in a TO_BE_DELETED accessibility state, its state cannot be manually updated.
      • The TO_BE_DELETED accessibility state will automatically be removed from a subtree once all entries have been removed from that subtree, while the HIDDEN state needs to be manually removed if it is no longer desired.
      Parameters:
      useToBeDeletedState - Indicates whether to use the TO_BE_DELETED subtree accessibility state instead of the HIDDEN state for the target subtree on the source server before beginning to remove entries from it.
    • suppressReferentialIntegrityUpdates

      Indicates whether to suppress referential integrity updates when removing entries from the source server.
      Returns:
      true if referential integrity updates should be suppressed when removing entries from the source server, or false if not.
    • setSuppressReferentialIntegrityUpdates

      public void setSuppressReferentialIntegrityUpdates(boolean suppressUpdates)
      Specifies whether to suppress referential integrity updates when removing entries from the source server. By default, if the referential integrity plugin is enabled, then removing a user entry will automatically remove references to it from other entries, including things like static group membership. However, when moving entries from one server to another, and especially in cases where the associated references are in other entries that are also being moved, it may be desirable to suppress those referential integrity updates.
      Parameters:
      suppressUpdates - Indicates whether to suppress referential integrity updates when removing entries from the source server.
    • getOperationPurposeRequestControl

      Retrieves an operation purpose request control that should be included in all requests sent to the source and target servers, if any.
      Returns:
      An operation purpose request control that should be included in all requests sent ot the source and target servers, or null if no operation purpose request control should be used.
    • setOperationPurposeRequestControl

      Specifies an operation purpose request control that should be included in all requests sent to the source and target servers.
      Parameters:
      control - An operation purpose request control that should be included in all requests sent to the source and target servers. It may be null if no operation purpose request control should be used.
    • getMoveSubtreeListener

      Retrieves the listener that may be invoked during the course of moving entries from the source server to the target server, if any.
      Returns:
      The listener that may be invoked during the course of moving entries from the source server to the target server, or null if no move subtree listener has been configured.
    • setMoveSubtreeListener

      Specifies a listener that may be invoked during the course of moving entries from the source server to the target server. The listener will be invoked before and after adding an entry to the target server, and it will be invoked before and after removing an entry from the source server.
      Parameters:
      listener - A listener that may be invoked during the course of moving entries from the source server to the target server. It may be null if no listener is needed.
    • toString

      Retrieves a string representation of the properties.
      Overrides:
      toString in class Object
      Returns:
      A string representation of the proprties.
    • toString

      public void toString(@NotNull StringBuilder buffer)
      Appends a string representation of the properties to the provided buffer.
      Parameters:
      buffer - The buffer to which the information should be appended. It must not be null.