Class Position

java.lang.Object
com.github.javaparser.Position
All Implemented Interfaces:
Comparable<Position>
Direct Known Subclasses:
UnicodeEscapeProcessingProvider.PositionMapping.DeltaInfo

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:
    • 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:
    • 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:
    • ABSOLUTE_END_LINE

      public static final int ABSOLUTE_END_LINE
      See Also:
  • 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, also checks for special positions (ABSOLUTE_BEGIN_LINE and ABSOLUTE_END_LINE). Does not know what it is pointing at, so it can't check if the position is after the end of the source.
      Returns:
      true if the position is usable or a special position.
    • invalid

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

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

      public boolean isAfter(Position otherPosition)
      Parameters:
      otherPosition - the other position to compare to
      Returns:
      true if this position is after the given position
    • isAfterOrEqual

      public boolean isAfterOrEqual(Position otherPosition)
    • isBefore

      public boolean isBefore(Position otherPosition)
      Parameters:
      otherPosition - the other position to compare to
      Returns:
      true if this position is before the given position
    • 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