Package xyz.cofe.iter

Interface TreeIterBuilder<A>

  • Type Parameters:
    A - тип узла дерева
    All Known Implementing Classes:
    TreeIterBuilderDefault

    public interface TreeIterBuilder<A>
    Создание итератора по дереву
    • Method Detail

      • walk

        Eterable<A> walk()
        Создание итератора
        Returns:
        итератор
      • go

        Eterable<TreeStep<A>> go()
        Создание итератора
        Returns:
        итератор
      • poll

        TreeIterBuilder<A> poll​(Function<List<TreeStep<A>>,​TreeStep<A>> poll)
        Указывает функцию извлечения очередного узла из рабочего набора
        Parameters:
        poll - функция
        Returns:
        self ссылка
      • push

        TreeIterBuilder<A> push​(Consumer<TreeIterator.PushStep<A>> push)
        Указывает функцию помещения очередного узла в рабочий набор
        Parameters:
        push - функция
        Returns:
        self ссылка
      • filter

        TreeIterBuilder<A> filter​(Predicate<TreeStep<A>> allow)
        Указывает функцию фильтрации
        Parameters:
        allow - функция фильтрации
        Returns:
        self ссылка
      • pushFirst

        TreeIterBuilder<A> pushFirst()
        Помещать в начало набора очередной узел
        Returns:
        self ссылка
      • pushLast

        TreeIterBuilder<A> pushLast()
        Помещать в конец набора очередной узел
        Returns:
        self ссылка
      • pushOrdered

        TreeIterBuilder<A> pushOrdered()
        Помещать в начало набора очередной узел, в порядке извлечения
        Returns:
        self ссылка
      • pollFirst

        TreeIterBuilder<A> pollFirst()
        Брать первый узел из рабочего набора узлов
        Returns:
        self ссылка
      • pollLast

        TreeIterBuilder<A> pollLast()
        Брать последний узел из рабочего набора узлов
        Returns:
        self ссылка
      • checkCycles

        TreeIterBuilder<A> checkCycles()
        Проверять на циклы при обходе
        Returns:
        self ссылка