# 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()`