public final class MoveSourceEdit extends TextEdit
MalformedTreeException
when executing the edit tree.
A move 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.
MoveTargetEdit
,
CopySourceEdit
CREATE_UNDO, NONE, UPDATE_REGIONS
Constructor and Description |
---|
MoveSourceEdit(int offset,
int length)
Constructs a new move source edit.
|
MoveSourceEdit(int offset,
int length,
MoveTargetEdit 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. |
MoveTargetEdit |
getTargetEdit()
Returns the associated target edit or
null
if no target edit is associated yet. |
static IRegion |
intersect(TextEdit op1,
TextEdit op2) |
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(MoveTargetEdit 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, toString
public MoveSourceEdit(int offset, int length)
offset
- the edit's offsetlength
- the edit's lengthpublic MoveSourceEdit(int offset, int length, MoveTargetEdit target)
offset
- the edit's offsetlength
- the edit's lengthtarget
- the edit's targetpublic MoveTargetEdit getTargetEdit()
null
if no target edit is associated yet.null
public void setTargetEdit(MoveTargetEdit edit)
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 TextEdit
TextEdit.copy()
,
TextEdit.postProcessCopy(TextEditCopier)
,
TextEditCopier
protected void postProcessCopy(TextEditCopier copier)
TextEdit
This default implementation does nothing
postProcessCopy
in class TextEdit
copier
- the copier that manages a map between original and
copied edit.TextEditCopier
protected void accept0(TextEditVisitor visitor)
TextEdit
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)
.
Copyright (c) 2000, 2015 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.