Class Position

java.lang.Object
com.github.javaparser.Position
All Implemented Interfaces:
Comparable<Position>

public class Position extends Object implements Comparable<Position>
A position in a source file. Lines and columns start counting at 1.
  • Field Details

    • line

      public final int line
    • column

      public final int column
    • FIRST_LINE

      public static final int FIRST_LINE
      The first line -- note that it is 1-indexed (i.e. the first line is line 1, as opposed to 0)
      See Also:
      Constant Field Values
    • FIRST_COLUMN

      public static final int FIRST_COLUMN
      The first column -- note that it is 1-indexed (i.e. the first column is column 1, as opposed to 0)
      See Also:
      Constant Field Values
    • HOME

      public static final Position HOME
      The first position in the file.
    • ABSOLUTE_BEGIN_LINE

      public static final int ABSOLUTE_BEGIN_LINE
      Line numbers must be positive, thus
      See Also:
      Constant Field Values
    • ABSOLUTE_END_LINE

      public static final int ABSOLUTE_END_LINE
      See Also:
      Constant Field Values
  • Constructor Details

    • Position

      public Position(int line, int column)
      TODO: Do we refer to the characters as columns, ...or the spaces between (thus also before/after) characters as columns?
  • Method Details

    • pos

      @Deprecated public static Position pos(int line, int column)
      Deprecated.
      Use the constructor (e.g. new Position(line, column))
      Convenient factory method.
    • withColumn

      public Position withColumn(int column)
      Returns:
      Jump to the given column number, while retaining the current line number.
    • withLine

      public Position withLine(int line)
      Returns:
      Jump to the given line number, while retaining the current column number.
    • right

      public Position right(int characters)
      Returns:
      a position that is "characters" characters more to the right than this position.
    • nextLine

      public Position nextLine()
      Returns:
      a position that is on the start of the next line from this position.
    • valid

      public boolean valid()
      Check if the position is usable. Does not know what it is pointing at, so it can't check if the position is after the end of the source.
    • invalid

      public boolean invalid()
      Returns:
      The inverse of valid()
      See Also:
      valid()
    • orIfInvalid

      public Position orIfInvalid(Position alternativePosition)
      Returns:
      If this position is valid, this. Otherwise, if the alternativePosition is valid, return that. Otherwise otherwise, just return this. TODO: Simplify/clarify.
    • isAfter

      public boolean isAfter(Position otherPosition)
    • isAfterOrEqual

      public boolean isAfterOrEqual(Position otherPosition)
    • isBefore

      public boolean isBefore(Position otherPosition)
    • isBeforeOrEqual

      public boolean isBeforeOrEqual(Position otherPosition)
    • compareTo

      public int compareTo(Position otherPosition)
      Specified by:
      compareTo in interface Comparable<Position>
    • equals

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

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

      public String toString()
      Overrides:
      toString in class Object