Package org.eclipse.jface.text

## 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:
  `IDocument`

### Field Summary

Fields
`boolean` `isDeleted` Indicates whether the position has been deleted
`int` `length` The length of the position
`int` `offset` The offset of the position

### Constructor Summary

Constructors
`protected` `Position()` 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

All Methods Instance Methods Concrete Methods
`void` `delete()` Marks this position as deleted.
`boolean` `equals​(Object other)`
`int` `getLength()` Returns the length of this position.
`int` `getOffset()` Returns the offset of this position.
`int` `hashCode()`
`boolean` `includes​(int index)` Checks whether the given index is inside of this position's text range.
`boolean` `isDeleted()` 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.
`String` `toString()`
`void` `undelete()` Marks this position as not deleted.

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Field Detail

#### 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 Detail

#### 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 Detail

#### 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`