Package xyz.cofe.tfun

Class TFuns

java.lang.Object
xyz.cofe.tfun.TFuns
All Implemented Interfaces:
java.lang.Iterable<TFunction>, xyz.cofe.iter.Eterable<TFunction>

public class TFuns
extends java.lang.Object
implements xyz.cofe.iter.Eterable<TFunction>
Имутабельная коллекция функций
  • Nested Class Summary

    Nested Classes 
    Modifier and Type Class Description
    static class  TFuns.Finder
    Поиск функций удовлетворяющих критерию
    static class  TFuns.FindResult
    Выборка функций
    static class  TFuns.Found
    Результат поиска функций совпадающей с требуемыми типами функций
  • Constructor Summary

    Constructors 
    Constructor Description
    TFuns()
    Конструктор по умолчанию
    TFuns​(java.lang.Iterable<TFunction> samples)
    Конструктор
  • Method Summary

    Modifier and Type Method Description
    TFuns add​(java.lang.Iterable<TFunction> funs)
    Клонирует и добавляет функции в клон
    TFuns add​(TFunction... funs)
    Клонирует и добавляет функции в клон
    void each​(java.util.function.Consumer<TFunction> funs)
    Итерация по списку функций
    TFuns filter​(java.util.function.Predicate<TFunction> funs)
    Клонирует и фильтрует функции в клон
    TFuns.FindResult findByArgs​(java.lang.Class<?>... args)
    Поиск функции совпадающей с указанными аргументами.
    TFuns.FindResult findByTypes​(java.lang.Class<?>... types)
    Поиск функции совпадающей с указанными аргументами и типом результата.
    java.util.Optional<TFunction> first()
    Возвращает первую функцию
    xyz.cofe.iter.Eterable<TFunction> functions()
    Возвращает функции
    java.util.SortedMap<java.lang.String,​TFunction> funsByInput()
    Карта функций сортированная по входящим типам
    java.util.SortedMap<java.lang.String,​TFunction> funsByTypes()
    Карта всех функций сортированная по входящим/исходящим типам
    java.util.Iterator<TFunction> iterator()
    Итератор по функциям
    TFunction[] toArray()
    Возвращает массив функций
    java.util.List<TFunction> toList()
    Возвращает список функций

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface xyz.cofe.iter.Eterable

    count, limit, map, notNull, product, product, product, product, product, reduce, union, union

    Methods inherited from interface java.lang.Iterable

    forEach, spliterator
  • Constructor Details

    • TFuns

      public TFuns()
      Конструктор по умолчанию
    • TFuns

      public TFuns​(java.lang.Iterable<TFunction> samples)
      Конструктор
      Parameters:
      samples - функции
  • Method Details

    • funsByTypes

      public java.util.SortedMap<java.lang.String,​TFunction> funsByTypes()
      Карта всех функций сортированная по входящим/исходящим типам
      Returns:
      Карта функций
    • funsByInput

      public java.util.SortedMap<java.lang.String,​TFunction> funsByInput()
      Карта функций сортированная по входящим типам
      Returns:
      Карта функций
    • functions

      public xyz.cofe.iter.Eterable<TFunction> functions()
      Возвращает функции
      Returns:
      функции
    • iterator

      public java.util.Iterator<TFunction> iterator()
      Итератор по функциям
      Specified by:
      iterator in interface java.lang.Iterable<TFunction>
      Returns:
      итератор
    • add

      public TFuns add​(TFunction... funs)
      Клонирует и добавляет функции в клон
      Parameters:
      funs - функции
      Returns:
      клон с добавленными функциями
    • add

      public TFuns add​(java.lang.Iterable<TFunction> funs)
      Клонирует и добавляет функции в клон
      Parameters:
      funs - функции
      Returns:
      клон с добавленными функциями
    • filter

      public TFuns filter​(java.util.function.Predicate<TFunction> funs)
      Клонирует и фильтрует функции в клон
      Specified by:
      filter in interface xyz.cofe.iter.Eterable<TFunction>
      Parameters:
      funs - фильтр
      Returns:
      клон с отфильтрованными функциями
    • first

      public java.util.Optional<TFunction> first()
      Возвращает первую функцию
      Specified by:
      first in interface xyz.cofe.iter.Eterable<TFunction>
      Returns:
      функция
    • toArray

      public TFunction[] toArray()
      Возвращает массив функций
      Returns:
      массив функций
    • toList

      public java.util.List<TFunction> toList()
      Возвращает список функций
      Specified by:
      toList in interface xyz.cofe.iter.Eterable<TFunction>
      Returns:
      список функций
    • each

      public void each​(java.util.function.Consumer<TFunction> funs)
      Итерация по списку функций
      Parameters:
      funs - список функций
    • findByArgs

      public TFuns.FindResult findByArgs​(java.lang.Class<?>... args)
      Поиск функции совпадающей с указанными аргументами. Поиск просматривает все варианты и дает оценку на сколько совпадает с функция с искомой
      Parameters:
      args - типы аргментов искомой функции
      Returns:
      Найденые функции
    • findByTypes

      public TFuns.FindResult findByTypes​(java.lang.Class<?>... types)
      Поиск функции совпадающей с указанными аргументами и типом результата. Поиск просматривает все варианты и дает оценку на сколько совпадает с функция с искомой
      Parameters:
      types - типы аргментов искомой функции и тип результата
      Returns:
      Найденые функции