Class TextSelection

java.lang.Object
org.eclipse.jface.text.TextSelection
All Implemented Interfaces:
IMultiTextSelection, ITextSelection, ISelection
Direct Known Subclasses:
BlockTextSelection

public class TextSelection extends Object implements IMultiTextSelection
Standard implementation of ITextSelection.

Takes advantage of the weak contract of correctness of its interface. If generated from a selection provider, it only remembers its offset and length and computes the remaining information on request.

  • Constructor Summary

    Constructors
    Constructor
    Description
    TextSelection(int offset, int length)
    Creates a text selection for the given range.
    TextSelection(IDocument document, int offset, int length)
    Creates a text selection for the given range of the given document.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the shared instance of the empty text selection.
    boolean
     
    protected IDocument
    Returns the document underlying the receiver, possibly null.
    int
    Returns the number of the line containing the last character of the selected text.
    int
    Returns the length of the selected text.
    int
    Returns the offset of the selected text.
    Returns a non-empty array containing the selected text range for each line covered by the selection.
    int
    Returns number of the line containing the offset of the selected text.
    Returns the selected text.
    int
     
    boolean
    Tells whether this text selection is the empty selection.
     

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • TextSelection

      public TextSelection(int offset, int length)
      Creates a text selection for the given range. This selection object describes generically a text range and is intended to be an argument for the setSelection method of selection providers.
      Parameters:
      offset - the offset of the range, must not be negative
      length - the length of the range, must not be negative
    • TextSelection

      public TextSelection(IDocument document, int offset, int length)
      Creates a text selection for the given range of the given document. This selection object is created by selection providers in responds getSelection.
      Parameters:
      document - the document whose text range is selected in a viewer
      offset - the offset of the selected range, must not be negative
      length - the length of the selected range, must not be negative
  • Method Details

    • emptySelection

      public static ITextSelection emptySelection()
      Returns the shared instance of the empty text selection.
      Returns:
      the shared instance of an empty text selection
    • isEmpty

      public boolean isEmpty()
      Tells whether this text selection is the empty selection.

      A selection of length 0 is not an empty text selection as it describes, e.g., the cursor position in a viewer.

      Specified by:
      isEmpty in interface ISelection
      Returns:
      true if this selection is empty
      See Also:
    • getOffset

      public int getOffset()
      Description copied from interface: ITextSelection
      Returns the offset of the selected text.
      Specified by:
      getOffset in interface ITextSelection
      Returns:
      the offset of the selected text or -1 if there is no valid text information
    • getLength

      public int getLength()
      Description copied from interface: ITextSelection
      Returns the length of the selected text.
      Specified by:
      getLength in interface ITextSelection
      Returns:
      the length of the selected text or -1 if there is no valid text information
    • getStartLine

      public int getStartLine()
      Description copied from interface: ITextSelection
      Returns number of the line containing the offset of the selected text. If the underlying text has been changed between the creation of this selection object and the call of this method, the value returned might differ from what it would have been at the point of creation.
      Specified by:
      getStartLine in interface ITextSelection
      Returns:
      the start line of this selection or -1 if there is no valid line information
    • getEndLine

      public int getEndLine()
      Description copied from interface: ITextSelection
      Returns the number of the line containing the last character of the selected text. If the underlying text has been changed between the creation of this selection object and the call of this method, the value returned might differ from what it would have been at the point of creation.
      Specified by:
      getEndLine in interface ITextSelection
      Returns:
      the end line of this selection or -1 if there is no valid line information
    • getText

      public String getText()
      Description copied from interface: ITextSelection
      Returns the selected text. If the underlying text has been changed between the creation of this selection object and the call of this method, the value returned might differ from what it would have been at the point of creation.
      Specified by:
      getText in interface ITextSelection
      Returns:
      the selected text or null if there is no valid text information
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • getDocument

      protected IDocument getDocument()
      Returns the document underlying the receiver, possibly null.
      Returns:
      the document underlying the receiver, possibly null
      Since:
      3.5
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getRegions

      public IRegion[] getRegions()
      Description copied from interface: IMultiTextSelection
      Returns a non-empty array containing the selected text range for each line covered by the selection.
      Specified by:
      getRegions in interface IMultiTextSelection
      Returns:
      an array containing a the covered text range for each line covered by the receiver