# Class AbstractDocument.ElementEdit

java.lang.Object
javax.swing.undo.AbstractUndoableEdit
javax.swing.text.AbstractDocument.ElementEdit

All Implemented Interfaces:
  `Serializable, DocumentEvent.ElementChange, UndoableEdit`

Enclosing class:
  `AbstractDocument`

public static class AbstractDocument.ElementEdit extends AbstractUndoableEdit implements DocumentEvent.ElementChange
An implementation of ElementChange that can be added to the document event.

- ## Field Summary

  ### Fields declared in class AbstractUndoableEdit

  `RedoName, UndoName`
  Modifier and Type
  Field
  Description
  `protected static final String`
  `RedoName`
  String returned by `getRedoPresentationName`; as of Java 2 platform v1.3.1 this field is no longer used.
  `protected static final String`
  `UndoName`
  String returned by `getUndoPresentationName`; as of Java 2 platform v1.3.1 this field is no longer used.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ElementEdit(Element e, int index, Element[] removed, Element[] added)`
  Constructs an edit record.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Element[]`
  `getChildrenAdded()`
  Gets a list of children that were added.
  `Element[]`
  `getChildrenRemoved()`
  Gets a list of children that were removed.
  `Element`
  `getElement()`
  Returns the underlying element.
  `int`
  `getIndex()`
  Returns the index into the list of elements.
  `void`
  `redo()`
  Redoes a change.
  `void`
  `undo()`
  Undoes a change.

  ### Methods declared in class AbstractUndoableEdit

  `addEdit, canRedo, canUndo, die, getPresentationName, getRedoPresentationName, getUndoPresentationName, isSignificant, replaceEdit, toString`
  Modifier and Type
  Method
  Description
  `boolean`
  `addEdit(UndoableEdit anEdit)`
  This default implementation returns false.
  `boolean`
  `canRedo()`
  Returns `true` if this edit is `alive` and `hasBeenDone` is `false`.
  `boolean`
  `canUndo()`
  Returns true if this edit is `alive` and `hasBeenDone` is `true`.
  `void`
  `die()`
  Sets `alive` to false.
  `String`
  `getPresentationName()`
  This default implementation returns "".
  `String`
  `getRedoPresentationName()`
  Retrieves the value from the defaults table with key `AbstractUndoableEdit.redoText` and returns that value followed by a space, followed by `getPresentationName`.
  `String`
  `getUndoPresentationName()`
  Retrieves the value from the defaults table with key `AbstractUndoableEdit.undoText` and returns that value followed by a space, followed by `getPresentationName`.
  `boolean`
  `isSignificant()`
  This default implementation returns true.
  `boolean`
  `replaceEdit(UndoableEdit anEdit)`
  This default implementation returns false.
  `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.

- ## Constructor Details

  - ### ElementEdit

    public ElementEdit(Element e, int index, Element[] removed, Element[] added)
    Constructs an edit record. This does not modify the element so it can safely be used to catch up a view to the current model state for views that just attached to a model.
    Parameters:
      `e` - the element
      `index` - the index into the model >= 0
      `removed` - a set of elements that were removed
      `added` - a set of elements that were added

- ## Method Details

  - ### getElement

    public Element getElement()
    Returns the underlying element.
    Specified by:
      `getElement` in interface `DocumentEvent.ElementChange`
    Returns:
      the element

  - ### getIndex

    public int getIndex()
    Returns the index into the list of elements.
    Specified by:
      `getIndex` in interface `DocumentEvent.ElementChange`
    Returns:
      the index >= 0

  - ### getChildrenRemoved

    public Element[] getChildrenRemoved()
    Gets a list of children that were removed.
    Specified by:
      `getChildrenRemoved` in interface `DocumentEvent.ElementChange`
    Returns:
      the list

  - ### getChildrenAdded

    public Element[] getChildrenAdded()
    Gets a list of children that were added.
    Specified by:
      `getChildrenAdded` in interface `DocumentEvent.ElementChange`
    Returns:
      the list

  - ### redo

    public void redo() throws CannotRedoException
    Redoes a change.
    Specified by:
      `redo` in interface `UndoableEdit`
    Overrides:
      `redo` in class `AbstractUndoableEdit`
    Throws:
      `CannotRedoException` - if the change cannot be redone
    See Also:
      - `AbstractUndoableEdit.canRedo()`

  - ### undo

    public void undo() throws CannotUndoException
    Undoes a change.
    Specified by:
      `undo` in interface `UndoableEdit`
    Overrides:
      `undo` in class `AbstractUndoableEdit`
    Throws:
      `CannotUndoException` - if the change cannot be undone
    See Also:
      - `AbstractUndoableEdit.canUndo()`