AttributeModificationException (Java SE 26 & JDK 26)
Description: declaration: module: java.naming, package: javax.naming.directory, class: AttributeModificationException
Keywords: javax.naming.directory.AttributeModificationException class

# Class AttributeModificationException

java.lang.Object
java.lang.Throwable
java.lang.Exception
javax.naming.NamingException
javax.naming.directory.AttributeModificationException

All Implemented Interfaces:
  `Serializable`

public class AttributeModificationException extends NamingException
This exception is thrown when an attempt is made to add, or remove, or modify an attribute, its identifier, or its values that conflicts with the attribute's (schema) definition or the attribute's state. It is thrown in response to DirContext.modifyAttributes(). It contains a list of modifications that have not been performed, in the order that they were supplied to modifyAttributes(). If the list is null, none of the modifications were performed successfully.

An AttributeModificationException instance is not synchronized against concurrent multithreaded access. Multiple threads trying to access and modify a single AttributeModification instance should lock the object.

Since:
  1.3
See Also:
  - `DirContext.modifyAttributes(Name, int, Attributes)`
  - Serialized Form

- ## Field Summary

  ### Fields declared in class NamingException

  `remainingName, resolvedName, resolvedObj, rootException`
  Modifier and Type
  Field
  Description
  `protected Name`
  `remainingName`
  Contains the remaining name that has not been resolved yet.
  `protected Name`
  `resolvedName`
  Contains the part of the name that has been successfully resolved.
  `protected Object`
  `resolvedObj`
  Contains the object to which resolution of the part of the name was successful.
  `protected Throwable`
  `rootException`
  Contains the original exception that caused this NamingException to be thrown.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AttributeModificationException()`
  Constructs a new instance of AttributeModificationException.
  `AttributeModificationException(String explanation)`
  Constructs a new instance of AttributeModificationException using an explanation.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ModificationItem[]`
  `getUnexecutedModifications()`
  Retrieves the unexecuted modification list.
  `void`
  `setUnexecutedModifications(ModificationItem[] e)`
  Sets the unexecuted modification list to be e.
  `String`
  `toString()`
  The string representation of this exception consists of information about where the error occurred, and the first unexecuted modification.

  ### Methods declared in class NamingException

  `appendRemainingComponent, appendRemainingName, getCause, getExplanation, getRemainingName, getResolvedName, getResolvedObj, getRootCause, initCause, setRemainingName, setResolvedName, setResolvedObj, setRootCause, toString`
  Modifier and Type
  Method
  Description
  `void`
  `appendRemainingComponent(String name)`
  Add name as the last component in remaining name.
  `void`
  `appendRemainingName(Name name)`
  Add components from 'name' as the last components in remaining name.
  `Throwable`
  `getCause()`
  Returns the cause of this exception.
  `String`
  `getExplanation()`
  Retrieves the explanation associated with this exception.
  `Name`
  `getRemainingName()`
  Retrieves the remaining unresolved portion of the name.
  `Name`
  `getResolvedName()`
  Retrieves the leading portion of the name that was resolved successfully.
  `Object`
  `getResolvedObj()`
  Retrieves the object to which resolution was successful.
  `Throwable`
  `getRootCause()`
  Retrieves the root cause of this NamingException, if any.
  `Throwable`
  `initCause(Throwable cause)`
  Initializes the cause of this exception to the specified value.
  `void`
  `setRemainingName(Name name)`
  Sets the remaining name field of this exception.
  `void`
  `setResolvedName(Name name)`
  Sets the resolved name field of this exception.
  `void`
  `setResolvedObj(Object obj)`
  Sets the resolved object field of this exception.
  `void`
  `setRootCause(Throwable e)`
  Records the root cause of this NamingException.
  `String`
  `toString(boolean detail)`
  Generates the string representation in more detail.

  ### Methods declared in class Throwable

  `addSuppressed, fillInStackTrace, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, printStackTrace, printStackTrace, printStackTrace, setStackTrace`
  Modifier and Type
  Method
  Description
  `final void`
  `addSuppressed(Throwable exception)`
  Appends the specified exception to the exceptions that were suppressed in order to deliver this exception.
  `Throwable`
  `fillInStackTrace()`
  Fills in the execution stack trace.
  `String`
  `getLocalizedMessage()`
  Creates a localized description of this throwable.
  `String`
  `getMessage()`
  Returns the detail message string of this throwable.
  `StackTraceElement[]`
  `getStackTrace()`
  Provides programmatic access to the stack trace information printed by `Throwable.printStackTrace()`.
  `final Throwable[]`
  `getSuppressed()`
  Returns an array containing all of the exceptions that were suppressed, typically by the `try`-with-resources statement, in order to deliver this exception.
  `void`
  `printStackTrace()`
  Prints this throwable and its backtrace to the standard error stream.
  `void`
  `printStackTrace(PrintStream s)`
  Prints this throwable and its backtrace to the specified print stream.
  `void`
  `printStackTrace(PrintWriter s)`
  Prints this throwable and its backtrace to the specified print writer.
  `void`
  `setStackTrace(StackTraceElement[] stackTrace)`
  Sets the stack trace elements that will be returned by `Throwable.getStackTrace()` and printed by `Throwable.printStackTrace()` and related methods.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Constructor Details

  - ### AttributeModificationException

    public AttributeModificationException(String explanation)
    Constructs a new instance of AttributeModificationException using an explanation. All other fields are set to null.
    Parameters:
      `explanation` - Possibly null additional detail about this exception. If null, this exception has no detail message.
    See Also:
      - `Throwable.getMessage()`

  - ### AttributeModificationException

    public AttributeModificationException()
    Constructs a new instance of AttributeModificationException. All fields are set to null.

- ## Method Details

  - ### setUnexecutedModifications

    public void setUnexecutedModifications(ModificationItem[] e)
    Sets the unexecuted modification list to be e. Items in the list must appear in the same order in which they were originally supplied in DirContext.modifyAttributes(). The first item in the list is the first one that was not executed. If this list is null, none of the operations originally submitted to modifyAttributes() were executed.
    Parameters:
      `e` - The possibly null list of unexecuted modifications.
    See Also:
      - `getUnexecutedModifications()`

  - ### getUnexecutedModifications

    public ModificationItem[] getUnexecutedModifications()
    Retrieves the unexecuted modification list. Items in the list appear in the same order in which they were originally supplied in DirContext.modifyAttributes(). The first item in the list is the first one that was not executed. If this list is null, none of the operations originally submitted to modifyAttributes() were executed.
    Returns:
      The possibly null unexecuted modification list.
    See Also:
      - `setUnexecutedModifications(ModificationItem[])`

  - ### toString

    public String toString()
    The string representation of this exception consists of information about where the error occurred, and the first unexecuted modification. This string is meant for debugging and not mean to be interpreted programmatically.
    Overrides:
      `toString` in class `NamingException`
    Returns:
      The non-null string representation of this exception.