Eclipse Platform
Release 3.1

org.eclipse.text.edits
Class UndoEdit

java.lang.Object
  extended byorg.eclipse.text.edits.TextEdit
      extended byorg.eclipse.text.edits.UndoEdit

public final class UndoEdit
extends TextEdit

This class encapsulates the reverse changes of an executed text edit tree. To apply an undo memento to a document use method apply(IDocument).

Clients can't add additional children to an undo edit nor can they add an undo edit as a child to another edit. Doing so results in both cases in a MalformedTreeException.

Since:
3.0

Field Summary
 
Fields inherited from class org.eclipse.text.edits.TextEdit
CREATE_UNDO, NONE, UPDATE_REGIONS
 
Method Summary
protected  void accept0(TextEditVisitor visitor)
          Accepts the given visitor on a type-specific visit of the current edit.
protected  TextEdit doCopy()
          Creates and returns a copy of this edit.
 
Methods inherited from class org.eclipse.text.edits.TextEdit
accept, acceptChildren, addChild, addChildren, apply, apply, canZeroLengthCover, childDocumentUpdated, childRegionUpdated, copy, covers, equals, getChildren, getChildrenSize, getCoverage, getExclusiveEnd, getInclusiveEnd, getLength, getOffset, getParent, getRegion, getRoot, hasChildren, hashCode, isDeleted, moveTree, postProcessCopy, removeChild, removeChild, removeChildren, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

doCopy

protected TextEdit doCopy()
Description copied from class: TextEdit
Creates and returns a copy of this edit. The copy method should be implemented in a way so that the copy can executed without causing any harm to the original edit. Implementors of this method are responsible for creating deep or shallow copies of referenced object to fulfill this requirement.

Implementers of this method should use the copy constructor Edit#Edit(Edit source) to initialize the edit part of the copy. Implementors aren't responsible to actually copy the children or to set the right parent.

This method should not be called from outside the framework. Please use copy to create a copy of a edit tree.

Specified by:
doCopy in class TextEdit
Returns:
a copy of this edit.
See Also:
TextEdit.copy(), TextEdit.postProcessCopy(TextEditCopier), TextEditCopier

accept0

protected void accept0(TextEditVisitor visitor)
Description copied from class: TextEdit
Accepts the given visitor on a type-specific visit of the current edit. This method must be implemented in all concrete text edits.

General template for implementation on each concrete TextEdit class:

 
 boolean visitChildren = visitor.visit(this);
 if (visitChildren) {
    acceptChildren(visitor);
 }
 
 
Note that the caller (accept) takes care of invoking visitor.preVisit(this) and visitor.postVisit(this).

Specified by:
accept0 in class TextEdit
Parameters:
visitor - the visitor object

Eclipse Platform
Release 3.1

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2005. All rights reserved.