UndoableEditSupport (Java SE 26 & JDK 26)
Description: declaration: module: java.desktop, package: javax.swing.undo, class: UndoableEditSupport
Keywords: javax.swing.undo.UndoableEditSupport class

# Class UndoableEditSupport

java.lang.Object
javax.swing.undo.UndoableEditSupport

public class UndoableEditSupport extends Object
A support class used for managing `UndoableEdit` listeners.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected CompoundEdit`
  `compoundEdit`
  The compound edit.
  `protected Vector<UndoableEditListener>`
  `listeners`
  The list of listeners.
  `protected Object`
  `realSource`
  The real source.
  `protected int`
  `updateLevel`
  The update level.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `UndoableEditSupport()`
  Constructs an `UndoableEditSupport` object.
  `UndoableEditSupport(Object r)`
  Constructs an `UndoableEditSupport` object.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `_postEdit(UndoableEdit e)`
  Called only from `postEdit` and `endUpdate`.
  `void`
  `addUndoableEditListener(UndoableEditListener l)`
  Registers an `UndoableEditListener`.
  `void`
  `beginUpdate()`
  Starts a compound edit update.
  `protected CompoundEdit`
  `createCompoundEdit()`
  Called only from `beginUpdate`.
  `void`
  `endUpdate()`
  DEADLOCK WARNING: Calling this method may call `undoableEditHappened` in all listeners.
  `UndoableEditListener[]`
  `getUndoableEditListeners()`
  Returns an array of all the `UndoableEditListener`s added to this UndoableEditSupport with addUndoableEditListener().
  `int`
  `getUpdateLevel()`
  Returns the update level value.
  `void`
  `postEdit(UndoableEdit e)`
  DEADLOCK WARNING: Calling this method may call `undoableEditHappened` in all listeners.
  `void`
  `removeUndoableEditListener(UndoableEditListener l)`
  Removes an `UndoableEditListener`.
  `String`
  `toString()`
  Returns a string that displays and identifies this object's properties.

  ### 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.

- ## Field Details

  - ### updateLevel

    protected int updateLevel
    The update level.

  - ### compoundEdit

    protected CompoundEdit compoundEdit
    The compound edit.

  - ### listeners

    protected Vector<UndoableEditListener> listeners
    The list of listeners.

  - ### realSource

    protected Object realSource
    The real source.

- ## Constructor Details

  - ### UndoableEditSupport

    public UndoableEditSupport()
    Constructs an `UndoableEditSupport` object.

  - ### UndoableEditSupport

    public UndoableEditSupport(Object r)
    Constructs an `UndoableEditSupport` object.
    Parameters:
      `r` - an `Object`

- ## Method Details

  - ### addUndoableEditListener

    public void addUndoableEditListener(UndoableEditListener l)
    Registers an `UndoableEditListener`. The listener is notified whenever an edit occurs which can be undone.
    Parameters:
      `l` - an `UndoableEditListener` object
    See Also:
      - `removeUndoableEditListener(UndoableEditListener)`

  - ### removeUndoableEditListener

    public void removeUndoableEditListener(UndoableEditListener l)
    Removes an `UndoableEditListener`.
    Parameters:
      `l` - the `UndoableEditListener` object to be removed
    See Also:
      - `addUndoableEditListener(UndoableEditListener)`

  - ### getUndoableEditListeners

    public UndoableEditListener[] getUndoableEditListeners()
    Returns an array of all the `UndoableEditListener`s added to this UndoableEditSupport with addUndoableEditListener().
    Returns:
      all of the `UndoableEditListener`s added or an empty array if no listeners have been added
    Since:
      1.4

  - ### _postEdit

    protected void _postEdit(UndoableEdit e)
    Called only from `postEdit` and `endUpdate`. Calls `undoableEditHappened` in all listeners. No synchronization is performed here, since the two calling methods are synchronized.
    Parameters:
      `e` - edit to be verified

  - ### postEdit

    public void postEdit(UndoableEdit e)
    DEADLOCK WARNING: Calling this method may call `undoableEditHappened` in all listeners. It is unwise to call this method from one of its listeners.
    Parameters:
      `e` - edit to be posted

  - ### getUpdateLevel

    public int getUpdateLevel()
    Returns the update level value.
    Returns:
      an integer representing the update level

  - ### beginUpdate

    public void beginUpdate()
    Starts a compound edit update.

  - ### createCompoundEdit

    protected CompoundEdit createCompoundEdit()
    Called only from `beginUpdate`. Exposed here for subclasses' use.
    Returns:
      new created `CompoundEdit` object

  - ### endUpdate

    public void endUpdate()
    DEADLOCK WARNING: Calling this method may call `undoableEditHappened` in all listeners. It is unwise to call this method from one of its listeners.

  - ### toString

    public String toString()
    Returns a string that displays and identifies this object's properties.
    Overrides:
      `toString` in class `Object`
    Returns:
      a `String` representation of this object