|
Eclipse Platform Release 3.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.text.edits.TextEdit
org.eclipse.text.edits.MoveSourceEdit
A move source edit denotes the source of a move operation. Move
source edits are only valid inside an edit tree if they have a
corresponding traget edit. Furthermore the corresponding target
edit can't be a direct or indirect child of the source edit.
Violating one of two requirements will result in a
MalformedTreeException
when executing the edit tree.
A move source edit can manange 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
Field Summary |
Fields inherited from class org.eclipse.text.edits.TextEdit |
CREATE_UNDO, NONE, UPDATE_REGIONS |
Constructor Summary | |
MoveSourceEdit(int offset,
int length)
Constructs a new move source edit. |
|
MoveSourceEdit(int offset,
int length,
MoveTargetEdit target)
Constructs a new copy source edit. |
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. |
ISourceModifier |
getSourceModifier()
Returns the current source modifier or null
if no source modifier is set. |
MoveTargetEdit |
getTargetEdit()
Returns the associated traget 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. |
Methods inherited from class org.eclipse.text.edits.TextEdit |
accept, acceptChildren, addChild, addChildren, apply, apply, canZeroLengthCover, copy, covers, equals, getChildren, getChildrenSize, getCoverage, getExclusiveEnd, getInclusiveEnd, getLength, getOffset, getParent, getRegion, hasChildren, hashCode, isDeleted, removeChild, removeChild, removeChildren, toString |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
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 targetMethod Detail |
public 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.
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)
.
accept0
in class TextEdit
visitor
- the visitor objectpublic static IRegion intersect(TextEdit op1, TextEdit op2)
|
Eclipse Platform Release 3.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Guidelines for using Eclipse APIs.
Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.