Class LPointer<T,​SELF extends LPointer<T,​SELF>>

java.lang.Object
xyz.cofe.text.tparse.LPointer<T,​SELF>
Type Parameters:
T - Тип токена/лексемы
All Implemented Interfaces:
java.lang.Comparable<SELF>, Pointer<T,​java.lang.Integer,​SELF>
Direct Known Subclasses:
TPointer

public abstract class LPointer<T,​SELF extends LPointer<T,​SELF>>
extends java.lang.Object
implements Pointer<T,​java.lang.Integer,​SELF>
Указатель на список токенов/лексем
  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected int position  
    protected java.util.List<? extends T> tokens  
  • Constructor Summary

    Constructors 
    Modifier Constructor Description
      LPointer​(java.util.List<? extends T> tokens)
    Конструктор
      LPointer​(java.util.List<? extends T> tokens, int pos)
    Конструктор
    protected LPointer​(LPointer<T,​SELF> sample)
    Конструктор копирования
  • Method Summary

    Modifier and Type Method Description
    abstract SELF clone()
    Клонирование
    int compareTo​(SELF o)  
    boolean eof()
    Проверка что указаетль находиться за границей списка
    java.util.Optional<T> lookup​(java.lang.Integer offset)
    Предпросмотр n-ой лексемы относительно текущего указателя
    SELF move​(java.lang.Integer offset)
    Перемещение указателя n позиций вперед/назад
    java.lang.Integer position()
    Получение значения текущего указателя
    java.util.List<? extends T> tokens()
    Возвращает список токенов
    java.lang.String toString()  

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • tokens

      protected final java.util.List<? extends T> tokens
    • position

      protected int position
  • Constructor Details

    • LPointer

      public LPointer​(java.util.List<? extends T> tokens, int pos)
      Конструктор
      Parameters:
      tokens - список токенов/лексем
      pos - налальное смещение (индекс) в списке
    • LPointer

      public LPointer​(java.util.List<? extends T> tokens)
      Конструктор
      Parameters:
      tokens - список токенов/лексем
    • LPointer

      protected LPointer​(LPointer<T,​SELF> sample)
      Конструктор копирования
      Parameters:
      sample - образец для копирвоания
  • Method Details

    • clone

      public abstract SELF clone()
      Клонирование
      Overrides:
      clone in class java.lang.Object
      Returns:
      клон
    • tokens

      public java.util.List<? extends T> tokens()
      Возвращает список токенов
      Returns:
      список токенов/лексем
    • eof

      public boolean eof()
      Description copied from interface: Pointer
      Проверка что указаетль находиться за границей списка
      Specified by:
      eof in interface Pointer<T,​java.lang.Integer,​SELF extends LPointer<T,​SELF>>
      Returns:
      true - за границей списка
    • position

      public java.lang.Integer position()
      Получение значения текущего указателя
      Specified by:
      position in interface Pointer<T,​java.lang.Integer,​SELF extends LPointer<T,​SELF>>
      Returns:
      указатель (смещение)
    • move

      public SELF move​(java.lang.Integer offset)
      Перемещение указателя n позиций вперед/назад
      Specified by:
      move in interface Pointer<T,​java.lang.Integer,​SELF extends LPointer<T,​SELF>>
      Parameters:
      offset - кол-во позиций
      Returns:
      Новый указатель
    • lookup

      public java.util.Optional<T> lookup​(java.lang.Integer offset)
      Предпросмотр n-ой лексемы относительно текущего указателя
      Specified by:
      lookup in interface Pointer<T,​java.lang.Integer,​SELF extends LPointer<T,​SELF>>
      Parameters:
      offset - Номер лексемы/символа
      Returns:
      Лексема
    • compareTo

      public int compareTo​(SELF o)
      Specified by:
      compareTo in interface java.lang.Comparable<T>
    • toString

      public java.lang.String toString()
      Overrides:
      toString in class java.lang.Object