Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 


Eclipse Platform
Release 3.5

org.eclipse.text.edits
Class MultiTextEdit

java.lang.Object
  extended by 

org.eclipse.text.edits.TextEdit
      extended by 
org.eclipse.text.edits.MultiTextEdit
Direct Known Subclasses:
MultiTextEditWithProgress

public class MultiTextEdit
extends TextEdit

A multi-text edit can be used to aggregate several edits into one edit. The edit itself doesn't modify a document.

Clients are allowed to implement subclasses of a multi-text edit.Subclasses must implement doCopy() to ensure the a copy of the right type is created. Not implementing doCopy() in subclasses will result in an assertion failure during copying.

Since:
3.0

Field Summary
 
Fields inherited from class org.eclipse.text.edits. TextEdit
CREATE_UNDO, NONE, UPDATE_REGIONS
 
Constructor Summary
  MultiTextEdit ()
          Creates a new MultiTextEdit.
  MultiTextEdit (int offset, int length)
          Creates a new MultiTextEdit for the given range.
protected MultiTextEdit ( MultiTextEdit other)
           
 
Method Summary
protected  void accept0 ( TextEditVisitor visitor)
          Accepts the given visitor on a type-specific visit of the current edit.
protected  boolean canZeroLengthCover ()
          Returns true if an edit with length zero can cover another edit.
protected  void checkIntegrity ()
          Checks the edit's integrity.
 boolean covers ( TextEdit other)
          Returns true if the edit covers the given edit other.
protected   TextEdit doCopy ()
          Creates and returns a copy of this edit.
 int getLength ()
          Returns the length of the edit.
 int getOffset ()
          Returns the offset of the edit.
 
Methods inherited from class org.eclipse.text.edits. TextEdit
accept, acceptChildren, addChild, addChildren, apply, apply, childDocumentUpdated, childRegionUpdated, copy, equals, getChildren, getChildrenSize, getCoverage, getExclusiveEnd, getInclusiveEnd, 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
 

Constructor Detail

MultiTextEdit

public MultiTextEdit()
Creates a new MultiTextEdit. The range of the edit is determined by the range of its children. Adding this edit to a parent edit sets its range to the range covered by its children. If the edit doesn't have any children its offset is set to the parent's offset and its length is set to 0.


MultiTextEdit

public MultiTextEdit(int offset,
                     int length)
Creates a new MultiTextEdit for the given range. Adding a child to this edit which isn't covered by the given range will result in an exception.

Parameters:
offset - the edit's offset
length - the edit's length.
See Also:
TextEdit.addChild(TextEdit), TextEdit.addChildren(TextEdit[])

MultiTextEdit

protected MultiTextEdit(
MultiTextEdit other)
Method Detail

checkIntegrity

protected void checkIntegrity()
                       throws 
MalformedTreeException
Checks the edit's integrity.

Note that this method should only be called by the edit framework and not by normal clients.

This default implementation does nothing. Subclasses may override if needed.

Throws:
MalformedTreeException - if the edit isn't in a valid state and can therefore not be executed

getOffset

public final int getOffset()
Returns the offset of the edit. An offset is a 0-based character index. Returns -1 if the edit is marked as deleted.

Overrides:
getOffset in class TextEdit
Returns:
the offset of the edit

getLength

public final int getLength()
Returns the length of the edit. Returns -1 if the edit is marked as deleted.

Overrides:
getLength in class TextEdit
Returns:
the length of the edit

covers

public final boolean covers(
TextEdit other)
Returns true if the edit covers the given edit other. It is up to the concrete text edit to decide if a edit of length zero can cover another edit.

Overrides:
covers in class TextEdit
Parameters:
other - the other edit
Returns:
true if the edit covers the other edit; otherwise false is returned.

canZeroLengthCover

protected boolean canZeroLengthCover()
Description copied from class: TextEdit
Returns true if an edit with length zero can cover another edit. Returns false otherwise.

Overrides:
canZeroLengthCover in class TextEdit
Returns:
whether an edit of length zero can cover another edit

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.5

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.


 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire