Class TextEditProcessor

Direct Known Subclasses:

public class TextEditProcessor extends Object
A TextEditProcessor manages a set of edits and applies them as a whole to an IDocument.

This class isn't intended to be subclassed.

See Also:
This class is not intended to be subclassed by clients.
  • Constructor Details

    • TextEditProcessor

      public TextEditProcessor(IDocument document, TextEdit root, int style)
      Constructs a new edit processor for the given document.
      document - the document to manipulate
      root - the root of the text edit tree describing the modifications. By passing a text edit a a text edit processor the ownership of the edit is transfered to the text edit processors. Clients must not modify the edit (e.g adding new children) any longer.
      style - TextEdit.NONE, TextEdit.CREATE_UNDO or TextEdit.UPDATE_REGIONS)
  • Method Details

    • getDocument

      public IDocument getDocument()
      Returns the document to be manipulated.
      the document
    • getRoot

      public TextEdit getRoot()
      Returns the edit processor's root edit.
      the processor's root edit
    • getStyle

      public int getStyle()
      Returns the style bits of the text edit processor
      the style bits
      See Also:
    • canPerformEdits

      public boolean canPerformEdits()
      Checks if the processor can execute all its edits.
      true if the edits can be executed. Return false otherwise. One major reason why edits cannot be executed are wrong offset or length values of edits. Calling perform in this case will very likely end in a BadLocationException.
    • performEdits

      public UndoEdit performEdits() throws MalformedTreeException, BadLocationException
      Executes the text edits.
      an object representing the undo of the executed edits
      MalformedTreeException - is thrown if the edit tree isn't in a valid state. This exception is thrown before any edit is executed. So the document is still in its original state.
      BadLocationException - is thrown if one of the edits in the tree can't be executed. The state of the document is undefined if this exception is thrown.
    • considerEdit

      protected boolean considerEdit(TextEdit edit)
      Tells whether this processor considers the given edit.

      Note that this class isn't intended to be subclassed.

      edit - the text edit
      true if this processor considers the given edit