# Class DefaultStyledDocument.AttributeUndoableEdit

java.lang.Object
javax.swing.undo.AbstractUndoableEdit
javax.swing.text.DefaultStyledDocument.AttributeUndoableEdit

All Implemented Interfaces:
  `Serializable, UndoableEdit`

Enclosing class:
  `DefaultStyledDocument`

public static class DefaultStyledDocument.AttributeUndoableEdit extends AbstractUndoableEdit
An UndoableEdit used to remember AttributeSet changes to an Element.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected AttributeSet`
  `copy`
  Copy of the AttributeSet the Element contained.
  `protected Element`
  `element`
  Affected Element.
  `protected boolean`
  `isReplacing`
  true if all the attributes in the element were removed first.
  `protected AttributeSet`
  `newAttributes`
  AttributeSet containing additional entries, must be non-mutable!

  ### Fields declared in class AbstractUndoableEdit

  `RedoName, UndoName`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AttributeUndoableEdit(Element element, AttributeSet newAttributes, boolean isReplacing)`
  Constructs an `AttributeUndoableEdit`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `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`

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### newAttributes

    protected AttributeSet newAttributes
    AttributeSet containing additional entries, must be non-mutable!

  - ### copy

    protected AttributeSet copy
    Copy of the AttributeSet the Element contained.

  - ### isReplacing

    protected boolean isReplacing
    true if all the attributes in the element were removed first.

  - ### element

    protected Element element
    Affected Element.

- ## Constructor Details

  - ### AttributeUndoableEdit

    public AttributeUndoableEdit(Element element, AttributeSet newAttributes, boolean isReplacing)
    Constructs an `AttributeUndoableEdit`.
    Parameters:
      `element` - the element
      `newAttributes` - the new attributes
      `isReplacing` - true if all the attributes in the element were removed first.

- ## Method Details

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