Class Repeat<P extends Pointer,​T extends Tok<P>>

java.lang.Object
xyz.cofe.text.parse.Repeat<P,​T>
All Implemented Interfaces:
java.util.function.Function<P,​T>

public class Repeat<P extends Pointer,​T extends Tok<P>>
extends java.lang.Object
implements java.util.function.Function<P,​T>
Повтор нескольких правил подряд
  • Constructor Summary

    Constructors 
    Constructor Description
    Repeat​(java.util.function.Function<P,​T> expression, xyz.cofe.fn.Fn3<P,​P,​Arr<? super T>,​T> builder)
    Конструктор
    Repeat​(Repeat<P,​T> sample)
    Конструктор копирования
  • Method Summary

    Modifier and Type Method Description
    T apply​(P tp)  
    <R extends T>
    Repeat<P,​R>
    build​(xyz.cofe.fn.Fn2<P,​P,​R> fn)
    Указывает функцию для построения
    <R extends T>
    Repeat<P,​R>
    build​(xyz.cofe.fn.Fn3<P,​P,​Arr<R>,​R> fn)
    Указывает функцию для построения
    Repeat<P,​T> clone()
    Клонирование
    xyz.cofe.fn.Fn3<P,​P,​Arr<? super T>,​T> getBuilder()
    Функция для создания лексемы
    java.util.function.Function<P,​T> getExpression()
    Возвращает повторяющиеся правило
    int getMax()
    Возвращает максимальное кол-во повторов
    int getMin()
    Возвращает минимальное кол-во повторов
    Repeat<P,​T> max​(int max)
    Указывает максимальное кол-во повторов
    Repeat<P,​T> min​(int min)
    Указывает минимальное кол-во повторов
    void setMax​(int max)
    Указывает максимальное кол-во повторов
    void setMin​(int min)
    Указывает минимальное кол-во повторов

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface java.util.function.Function

    andThen, compose
  • Constructor Details

    • Repeat

      public Repeat​(java.util.function.Function<P,​T> expression, xyz.cofe.fn.Fn3<P,​P,​Arr<? super T>,​T> builder)
      Конструктор
      Parameters:
      expression - повторяемое правило
      builder - функция которая строит токен
    • Repeat

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

    • clone

      public Repeat<P,​T> clone()
      Клонирование
      Overrides:
      clone in class java.lang.Object
      Returns:
      клон
    • getMin

      public int getMin()
      Возвращает минимальное кол-во повторов
      Returns:
      минимальное кол-во
    • setMin

      public void setMin​(int min)
      Указывает минимальное кол-во повторов
      Parameters:
      min - минимальное кол-во
    • min

      public Repeat<P,​T> min​(int min)
      Указывает минимальное кол-во повторов
      Parameters:
      min - минимальное кол-во
      Returns:
      self ссылка
    • getMax

      public int getMax()
      Возвращает максимальное кол-во повторов
      Returns:
      максимальное кол-во или 0
    • setMax

      public void setMax​(int max)
      Указывает максимальное кол-во повторов
      Parameters:
      max - максимальное кол-во
    • max

      public Repeat<P,​T> max​(int max)
      Указывает максимальное кол-во повторов
      Parameters:
      max - максимальное кол-во
      Returns:
      self ссылка
    • getExpression

      public java.util.function.Function<P,​T> getExpression()
      Возвращает повторяющиеся правило
      Returns:
      правило
    • apply

      public T apply​(P tp)
      Specified by:
      apply in interface java.util.function.Function<P extends Pointer,​T extends Tok<P>>
    • getBuilder

      public xyz.cofe.fn.Fn3<P,​P,​Arr<? super T>,​T> getBuilder()
      Функция для создания лексемы
      Returns:
      функция создатель лексемы
    • build

      public <R extends T> Repeat<P,​R> build​(xyz.cofe.fn.Fn3<P,​P,​Arr<R>,​R> fn)
      Указывает функцию для построения
      Type Parameters:
      R - возвращаемый тип лексемы
      Parameters:
      fn - функция для построени
      Returns:
      парсер
    • build

      public <R extends T> Repeat<P,​R> build​(xyz.cofe.fn.Fn2<P,​P,​R> fn)
      Указывает функцию для построения
      Type Parameters:
      R - возвращаемый тип лексемы
      Parameters:
      fn - функция для построени
      Returns:
      парсер