Class Position

java.lang.Object
org.eclipse.jface.text.Position
Direct Known Subclasses:
Fragment, LinkedPosition, Segment, TypedPosition

public class Position extends Object
Positions describe text ranges of a document. Positions are adapted to changes applied to that document. The text range is specified by an offset and a length. Positions can be marked as deleted. Deleted positions are considered to no longer represent a valid text range in the managing document.

Positions attached to documents are usually updated by position updaters. Because position updaters are freely definable and because of the frequency in which they are used, the fields of a position are made publicly accessible. Clients other than position updaters are not allowed to access these public fields.

Positions cannot be used as keys in hash tables as they override equals and hashCode as they would be value objects.

See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    boolean
    Indicates whether the position has been deleted
    int
    The length of the position
    int
    The offset of the position
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    Creates a new, not initialized position.
     
    Position(int offset)
    Creates a new position with the given offset and length 0.
     
    Position(int offset, int length)
    Creates a new position with the given offset and length.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Marks this position as deleted.
    boolean
    equals(Object other)
     
    int
    Returns the length of this position.
    int
    Returns the offset of this position.
    int
     
    boolean
    includes(int index)
    Checks whether the given index is inside of this position's text range.
    boolean
    Returns whether this position has been deleted or not.
    boolean
    overlapsWith(int rangeOffset, int rangeLength)
    Checks whether the intersection of the given text range and the text range represented by this position is empty or not.
    void
    setLength(int length)
    Changes the length of this position to the given length.
    void
    setOffset(int offset)
    Changes the offset of this position to the given offset.
     
    void
    Marks this position as not deleted.

    Methods inherited from class java.lang.Object

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

    • offset

      public int offset
      The offset of the position
    • length

      public int length
      The length of the position
    • isDeleted

      public boolean isDeleted
      Indicates whether the position has been deleted
  • Constructor Details

    • Position

      public Position(int offset)
      Creates a new position with the given offset and length 0.
      Parameters:
      offset - the position offset, must be >= 0
    • Position

      public Position(int offset, int length)
      Creates a new position with the given offset and length.
      Parameters:
      offset - the position offset, must be >= 0
      length - the position length, must be >= 0
    • Position

      protected Position()
      Creates a new, not initialized position.
  • Method Details

    • hashCode

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

      public void delete()
      Marks this position as deleted.
    • undelete

      public void undelete()
      Marks this position as not deleted.
      Since:
      2.0
    • equals

      public boolean equals(Object other)
      Overrides:
      equals in class Object
    • getLength

      public int getLength()
      Returns the length of this position.
      Returns:
      the length of this position
    • getOffset

      public int getOffset()
      Returns the offset of this position.
      Returns:
      the offset of this position
    • includes

      public boolean includes(int index)
      Checks whether the given index is inside of this position's text range.
      Parameters:
      index - the index to check
      Returns:
      true if index is inside of this position
    • overlapsWith

      public boolean overlapsWith(int rangeOffset, int rangeLength)
      Checks whether the intersection of the given text range and the text range represented by this position is empty or not.
      Parameters:
      rangeOffset - the offset of the range to check
      rangeLength - the length of the range to check
      Returns:
      true if intersection is not empty
    • isDeleted

      public boolean isDeleted()
      Returns whether this position has been deleted or not.
      Returns:
      true if position has been deleted
    • setLength

      public void setLength(int length)
      Changes the length of this position to the given length.
      Parameters:
      length - the new length of this position
    • setOffset

      public void setOffset(int offset)
      Changes the offset of this position to the given offset.
      Parameters:
      offset - the new offset of this position
    • toString

      public String toString()
      Overrides:
      toString in class Object