public final class CopySourceEdit extends TextEdit
MalformedTreeException when executing the edit tree.
A copy source edit can manage an optional source modifier. A source modifier can provide a set of replace edits which will to applied to the source before it gets inserted at the target position.
CopyTargetEditCREATE_UNDO, NONE, UPDATE_REGIONS| Constructor and Description |
|---|
CopySourceEdit(int offset,
int length)
Constructs a new copy source edit.
|
CopySourceEdit(int offset,
int length,
CopyTargetEdit target)
Constructs a new copy source edit.
|
| Modifier and Type | Method and Description |
|---|---|
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.
|
ISourceModifier |
getSourceModifier()
Returns the current source modifier or
null
if no source modifier is set. |
CopyTargetEdit |
getTargetEdit()
Returns the associated target edit or
null
if no target edit is associated yet. |
protected void |
postProcessCopy(TextEditCopier copier)
This method is called on every edit of the copied tree to do some
post-processing like connected an edit to a different edit in the tree.
|
void |
setSourceModifier(ISourceModifier modifier)
Sets the optional source modifier.
|
void |
setTargetEdit(CopyTargetEdit edit)
Sets the target edit.
|
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, removeChild, removeChild, removeChildren, toStringpublic CopySourceEdit(int offset,
int length)
offset - the edit's offsetlength - the edit's lengthpublic CopySourceEdit(int offset,
int length,
CopyTargetEdit target)
offset - the edit's offsetlength - the edit's lengthtarget - the edit's targetpublic CopyTargetEdit getTargetEdit()
null
if no target edit is associated yet.nullpublic void setTargetEdit(CopyTargetEdit edit) throws MalformedTreeException
edit - the new target edit.MalformedTreeException - is thrown if the target edit
is a direct or indirect child of the source editpublic ISourceModifier getSourceModifier()
null
if no source modifier is set.public void setSourceModifier(ISourceModifier modifier)
modifier - the source modifier or null
if no source modification is need.protected TextEdit doCopy()
TextEdit
Implementers of this method should use the copy constructor
This method should not be called from outside the framework.
Please use
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.
copy to create a copy of a edit tree.
doCopy in class TextEditTextEdit.copy(),
TextEdit.postProcessCopy(TextEditCopier),
TextEditCopierprotected void accept0(TextEditVisitor visitor)
TextEditGeneral 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).
protected void postProcessCopy(TextEditCopier copier)
TextEditThis default implementation does nothing
postProcessCopy in class TextEditcopier - the copier that manages a map between original and
copied edit.TextEditCopierGuidelines for using Eclipse APIs. Copyright (c) IBM Corp. and others 2000, 2006. All rights reserved.