Class TextLocation


  • public final class TextLocation
    extends Object
    Экземпляр данного класса описывает положение фрагмента в тексте.
    Экземпляр данного класса является немутабельным и, соответственно, потокобезопасным.
    • Constructor Summary

      Constructors 
      Constructor Description
      TextLocation​(int line, int column, int startOffset, int stopOffset)
      Конструктор
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean conformsToOffset​(int offset)
      Функция устанавливает, соответствует ли данный экземпляр TextLocation смещению в тексте offset
      TextLocation expand​(TextLocation location)
      Функция получает TextLocation раширяющий диапазон в тексте представленный данным экземпляром.
      int getColumn()
      Получение колонки в строке, в которой начинается фрагмент тектста.
      int getLine()
      Получение номер строки, в которой начинается фрагмент текста.
      int getStartOffset()
      Индекс символа, с которого начинается фрагмент текста.
      int getStopOffset()
      Индекс символа, на котором заканчивается фрагмент текста.
    • Constructor Detail

      • TextLocation

        public TextLocation​(int line,
                            int column,
                            int startOffset,
                            int stopOffset)
        Конструктор
        Parameters:
        line - номер строки, в которой начинается фрагмент текста, 1-базированное значение
        column - номер колонки в строке, где начинается фрагмент текста, 0-базированное значение
        startOffset - индекс символа, с которого начинается фрагмент текста. Индекс символа представляет собой индекс в тексте, представленном как массив. 0-базированное значение
        stopOffset - индекс символа, на котором заканчивается фрагмент текста, 0-базированное значение, такое что stopOffset - startOffset == длина_фрагмента
    • Method Detail

      • getLine

        public int getLine()
        Получение номер строки, в которой начинается фрагмент текста. Номера строк отсчитываются, начиная с 1.
        Returns:
        номер строки
      • getColumn

        public int getColumn()
        Получение колонки в строке, в которой начинается фрагмент тектста. Номера колонок отсчитываются начиная с 1.
        Returns:
        колонка в строке
      • getStartOffset

        public int getStartOffset()
        Индекс символа, с которого начинается фрагмент текста. Индекс символа - это индекс в тексте представленном, как массив. Соответственно, индекс является 0-базированным.
        Returns:
        индекс символа, с которого начинается фрагмент тектста.
      • getStopOffset

        public int getStopOffset()
        Индекс символа, на котором заканчивается фрагмент текста. Индекс символа - это индекс в тексте представленном, как массив. Соответственно, индекс является 0-базированным. getStopOffset() - getStartOffset() == длина_фрагмента
        Returns:
        индекс символа, с которого начинается фрагмент тектста.
      • conformsToOffset

        public boolean conformsToOffset​(int offset)
        Функция устанавливает, соответствует ли данный экземпляр TextLocation смещению в тексте offset
        Parameters:
        offset - смещение в тексте
        Returns:
        true, если данный экземпляр TextLocation соответствует смещению в тексте, иначе - false.
      • expand

        public TextLocation expand​(TextLocation location)
        Функция получает TextLocation раширяющий диапазон в тексте представленный данным экземпляром. Если stopOffset экземпляра, переданного в параметре больше, чем stopOffset данного экземпляра, то создается новый экземпляр TextLocation со значением stopOffset, взятым из параметра и значениями остальных полей из данного экземпляра.
        Иначе в качестве значения функции возвращается сам данный экземпляр.
        Parameters:
        location - TextLocation для расширения данного экземпляра
        Returns:
        расширенный TextLocation