Class ModifyDnRequest

java.lang.Object
org.forgerock.opendj.ldap.messages.ModifyDnRequest
All Implemented Interfaces:
ProtocolOp, Request, ChangeRecord

public final class ModifyDnRequest extends Object implements Request, ChangeRecord
The Modify DN operation allows a client to change the Relative Distinguished Name (RDN) of an entry in the Directory and/or to move a subtree of entries to a new location in the Directory.
  • Method Details

    • accept

      public <R, P, E extends Exception> R accept(RequestVisitor<R,P,E> v, P p) throws E
      Description copied from interface: Request
      Applies a RequestVisitor to this Request.
      Specified by:
      accept in interface Request
      Type Parameters:
      R - The return type of the visitor's methods.
      P - The type of the additional parameters to the visitor's methods.
      E - The type of the exception thrown by the visitor method if it fails, or NeverThrowsException if the visitor cannot fail.
      Parameters:
      v - The request visitor.
      p - Optional additional visitor parameter.
      Returns:
      A result as specified by the visitor.
      Throws:
      E - If the visitor failed.
    • getName

      public Dn getName()
      Returns the distinguished name of the entry to be renamed. This entry may or may not have subordinate entries. The server shall not dereference any aliases in locating the entry to be renamed.
      Specified by:
      getName in interface ChangeRecord
      Returns:
      The distinguished name of the entry.
    • getNewRdn

      public Rdn getNewRdn()
      Returns the new RDN of the entry to be renamed. The value of the old RDN is supplied when moving the entry to a new superior without changing its RDN. Attribute values of the new RDN not matching any attribute value of the entry are added to the entry, and an appropriate error is returned if this fails.
      Returns:
      The new RDN of the entry.
    • getNewSuperior

      public Dn getNewSuperior()
      Returns the distinguished name of an existing entry that will become the immediate superior (parent) of the entry to be renamed. The server shall not dereference any aliases in locating the new superior entry. The default value is null, indicating that the entry is to remain under the same parent entry.
      Returns:
      The distinguished name of the new superior entry, or null if the entry is to remain under the same parent entry.
    • isDeleteOldRdn

      public boolean isDeleteOldRdn()
      Indicates whether the old RDN attribute values are to be retained as attributes of the entry or deleted from the entry. The default value is false.
      Returns:
      true if the old RDN attribute values are to be deleted from the entry, or false if they are to be retained.
    • setDeleteOldRdn

      public ModifyDnRequest setDeleteOldRdn(boolean deleteOldRdn)
      Specifies whether the old RDN attribute values are to be retained as attributes of the entry or deleted from the entry. The default value is false.
      Parameters:
      deleteOldRdn - true if the old RDN attribute values are to be deleted from the entry, or false if they are to be retained.
      Returns:
      This modify DN request.
      Throws:
      UnsupportedOperationException - If this modify DN request does not permit the delete old RDN parameter to be set.
    • setName

      public ModifyDnRequest setName(Dn dn)
      Sets the distinguished name of the entry to be renamed. This entry may or may not have subordinate entries. The server shall not dereference any aliases in locating the entry to be renamed.
      Specified by:
      setName in interface ChangeRecord
      Parameters:
      dn - The distinguished name of the entry to be renamed.
      Returns:
      This modify DN request.
      Throws:
      UnsupportedOperationException - If this modify DN request does not permit the distinguished name to be set.
      NullPointerException - If dn was null.
    • setName

      public ModifyDnRequest setName(String dn)
      Sets the distinguished name of the entry to be renamed. This entry may or may not have subordinate entries. The server shall not dereference any aliases in locating the entry to be renamed.
      Specified by:
      setName in interface ChangeRecord
      Parameters:
      dn - The distinguished name of the entry to be renamed.
      Returns:
      This modify DN request.
      Throws:
      LocalizedIllegalArgumentException - If dn could not be decoded using the default schema.
      UnsupportedOperationException - If this modify DN request does not permit the distinguished name to be set.
      NullPointerException - If dn was null.
    • setNewRdn

      public ModifyDnRequest setNewRdn(Rdn rdn)
      Sets the new RDN of the entry to be renamed. The value of the old RDN is supplied when moving the entry to a new superior without changing its RDN. Attribute values of the new RDN not matching any attribute value of the entry are added to the entry, and an appropriate error is returned if this fails.
      Parameters:
      rdn - The new RDN of the entry to be renamed.
      Returns:
      This modify DN request.
      Throws:
      UnsupportedOperationException - If this modify DN request does not permit the new RDN to be set.
      NullPointerException - If rdn was null.
    • setNewRdn

      public ModifyDnRequest setNewRdn(String rdn)
      Sets the new RDN of the entry to be renamed. The value of the old RDN is supplied when moving the entry to a new superior without changing its RDN. Attribute values of the new RDN not matching any attribute value of the entry are added to the entry, and an appropriate error is returned if this fails.
      Parameters:
      rdn - The new RDN of the entry to be renamed.
      Returns:
      This modify DN request.
      Throws:
      LocalizedIllegalArgumentException - If rdn could not be decoded using the default schema.
      UnsupportedOperationException - If this modify DN request does not permit the new RDN to be set.
      NullPointerException - If rdn was null.
    • setNewSuperior

      public ModifyDnRequest setNewSuperior(Dn dn)
      Sets the distinguished name of an existing entry that will become the immediate superior (parent) of the entry to be renamed. The server shall not dereference any aliases in locating the new superior entry. The default value is null, indicating that the entry is to remain under the same parent entry.
      Parameters:
      dn - The distinguished name of an existing entry that will become the immediate superior (parent) of the entry to be renamed, may be null.
      Returns:
      This modify DN request.
      Throws:
      UnsupportedOperationException - If this modify DN request does not permit the new superior to be set.
    • setNewSuperior

      public ModifyDnRequest setNewSuperior(String dn)
      Sets the distinguished name of an existing entry that will become the immediate superior (parent) of the entry to be renamed. The server shall not dereference any aliases in locating the new superior entry. The default value is null, indicating that the entry is to remain under the same parent entry.
      Parameters:
      dn - The distinguished name of an existing entry that will become the immediate superior (parent) of the entry to be renamed, may be null.
      Returns:
      This modify DN request.
      Throws:
      LocalizedIllegalArgumentException - If dn could not be decoded using the default schema.
      UnsupportedOperationException - If this modify DN request does not permit the new superior to be set.
    • getType

      public Request.RequestType getType()
      Description copied from interface: Request
      Returns the type of this request to avoid expensive instanceof checks.
      Specified by:
      getType in interface Request
      Returns:
      the type of this request
    • toString

      public String toString()
    • addControl

      public final ModifyDnRequest addControl(Control control)
      Description copied from interface: ProtocolOp
      Adds the provided control to this protocol-op.
      Specified by:
      addControl in interface ProtocolOp
      Parameters:
      control - The control to be added to this protocol-op.
      Returns:
      This protocol-op.
    • addControls

      public final ModifyDnRequest addControls(Iterable<? extends Control> controls)
      Description copied from interface: ProtocolOp
      Adds the provided controls to this protocol-op.
      Specified by:
      addControls in interface ProtocolOp
      Parameters:
      controls - The controls to be added to this protocol-op.
      Returns:
      This protocol-op.
    • removeControls

      public final ModifyDnRequest removeControls(String oid)
      Description copied from interface: ProtocolOp
      Removes all the controls having the specified OID.
      Specified by:
      removeControls in interface ProtocolOp
      Parameters:
      oid - The numeric OID of the protocol-op control to remove.
      Returns:
      This protocol-op.
    • containsControl

      public final boolean containsControl(String oid)
      Description copied from interface: ProtocolOp
      Returns true if this protocol-op contains the specified control.
      Specified by:
      containsControl in interface ProtocolOp
      Parameters:
      oid - The numeric OID of the protocol-op control.
      Returns:
      true if this protocol-op contains the specified control.
    • getControl

      public final <C extends Control> C getControl(ControlDecoder<C> decoder, DecodeOptions options) throws DecodeException
      Description copied from interface: ProtocolOp
      Decodes and returns the first control in this protocol-op having an OID corresponding to the provided control decoder.
      Specified by:
      getControl in interface ProtocolOp
      Type Parameters:
      C - The type of control to be decoded and returned.
      Parameters:
      decoder - The control decoder.
      options - The set of decode options which should be used when decoding the control.
      Returns:
      The decoded control, or null if the control is not included with this protocol-op.
      Throws:
      DecodeException - If the control could not be decoded because it was malformed in some way (e.g. the control value was missing, or its content could not be decoded).
    • getControls

      public final List<Control> getControls()
      Description copied from interface: ProtocolOp
      Returns a List containing the controls included with this protocol-op. The returned List may be modified if permitted by this protocol-op.
      Specified by:
      getControls in interface ProtocolOp
      Returns:
      A List containing the controls.