Class Call

java.lang.Object
xyz.cofe.cxel.eval.Call
All Implemented Interfaces:
PreparedCall, ArgsCasing, CastLooseDataArgs, CovariantArgs, ImplicitArgs, InvariantArgs, ParameterCount, PrimitiveCastArgs

public class Call
extends java.lang.Object
implements PreparedCall, ArgsCasing, InvariantArgs, PrimitiveCastArgs, CastLooseDataArgs, CovariantArgs, ImplicitArgs, ParameterCount
Вариант вызова метода/функции
  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected java.util.List<ArgPass> args
    Возвращает список передаваемых аргументов
    protected java.lang.Boolean cacheable  
    protected TypedFn fn
    Вызываемая функция
    protected java.util.List<java.lang.Object> inputArgs
    Входящие аргументы
  • Constructor Summary

    Constructors 
    Constructor Description
    Call()
    Конструктор по умолчанию
    Call​(Call sample)
    Конструктор копирования
    Call​(TypedFn meth)
    Конструктор
  • Method Summary

    Modifier and Type Method Description
    Call addArg​(ArgPass arg)
    Добавляет аргумент
    int argsCasing()
    Возвращает различие между кол-вом входных параметров и передаваемых параметров
    boolean cacheable()
    Возвращает факт возможности повторного вызова с новыми аргментами без перестройки нового Call
    java.lang.Object call​(java.util.List<java.lang.Object> inputArgs)
    Вызов функии с заданными аргументами
    boolean callable()
    Возвращает признак что можно сделать вызов функции call(List)
    int castLooseDataArgs()
    Возвращает кол-во аргументов которые передаются с преобразованием примитивных типов данных и потерей точности данных при преобразовании
    Call clone()
    Клонирование
    Call configure​(java.util.function.Consumer<Call> conf)
    Конфигурирование экземпляра
    int covariantArgs()
    Возвращает кол-во аргументов которые передаются с ковариантным преобразованием типов данных
    Call fn​(TypedFn newfn)
    Указывает вызываемую функцию
    ArgPass getArg​(int argIndex)
    Возвращает аргумент по индексу
    int getArgsCount()
    Возвращает кол-во аргументов
    TypedFn getFn()
    Возвращает вызываемую функцию
    java.util.List<java.lang.Object> getInputArgs()
    Возвращает входящие аргументы
    int implicitArgs()
    Возвращает кол-во аргументов которые передаются с неявным преобразованием типов данных
    int invariantArgs()
    Возвращает кол-во аргументов которые передаются без изменения типов данных
    int parameterCount()
    Возвращает кол-во передаваемых типов данных
    int primitiveCastArgs()
    Возвращает кол-во аргументов которые передаются с преобразованием примитивных типов данных
    Call removeArg​(int idx)
    Удаляет аргумент
    Call setArg​(int idx, ArgPass arg)
    Указывает значение аргумента
    void setInputArgs​(java.util.List<java.lang.Object> inputArgs)
    Указывает входящие аргументы
    java.lang.String toString()  

    Methods inherited from class java.lang.Object

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

    • inputArgs

      protected java.util.List<java.lang.Object> inputArgs
      Входящие аргументы
    • fn

      protected TypedFn fn
      Вызываемая функция
    • args

      protected final java.util.List<ArgPass> args
      Возвращает список передаваемых аргументов
    • cacheable

      protected java.lang.Boolean cacheable
  • Constructor Details

    • Call

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

      public Call​(Call sample)
      Конструктор копирования
      Parameters:
      sample - образец для копирования
    • Call

      public Call​(TypedFn meth)
      Конструктор
      Parameters:
      meth - вызываемая функция
  • Method Details

    • configure

      public Call configure​(java.util.function.Consumer<Call> conf)
      Конфигурирование экземпляра
      Parameters:
      conf - конфигурация
      Returns:
      self ссылка
    • clone

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

      public java.util.List<java.lang.Object> getInputArgs()
      Возвращает входящие аргументы
      Returns:
      входящие аргументы
    • setInputArgs

      public void setInputArgs​(java.util.List<java.lang.Object> inputArgs)
      Указывает входящие аргументы
      Parameters:
      inputArgs - входящие аргументы
    • getFn

      public TypedFn getFn()
      Возвращает вызываемую функцию
      Returns:
      вызываемая функция
    • fn

      public Call fn​(TypedFn newfn)
      Указывает вызываемую функцию
      Parameters:
      newfn - вызываемая функция
    • getArgsCount

      public int getArgsCount()
      Возвращает кол-во аргументов
      Returns:
      кол-во аргументов
    • getArg

      public ArgPass getArg​(int argIndex)
      Возвращает аргумент по индексу
      Parameters:
      argIndex - индекс аргумента
      Returns:
      аргумент
    • addArg

      public Call addArg​(ArgPass arg)
      Добавляет аргумент
      Parameters:
      arg - аргумент
      Returns:
      self ссылка
    • removeArg

      public Call removeArg​(int idx)
      Удаляет аргумент
      Parameters:
      idx - индекс аргумента
      Returns:
      self ссылка
    • setArg

      public Call setArg​(int idx, ArgPass arg)
      Указывает значение аргумента
      Parameters:
      idx - индекс аргумента
      arg - ардгумент
      Returns:
      self ссылка
    • callable

      public boolean callable()
      Возвращает признак что можно сделать вызов функции call(List)
      Returns:
      true - допускается при заданных аргументах вызвать call(List), false - не допускается
    • call

      public java.lang.Object call​(java.util.List<java.lang.Object> inputArgs)
      Вызов функии с заданными аргументами
      Specified by:
      call in interface PreparedCall
      Returns:
      результат вызова
    • cacheable

      public boolean cacheable()
      Возвращает факт возможности повторного вызова с новыми аргментами без перестройки нового Call
      Specified by:
      cacheable in interface PreparedCall
      Returns:
      true - можно повторно вызывать
    • argsCasing

      public int argsCasing()
      Description copied from interface: ArgsCasing
      Возвращает различие между кол-вом входных параметров и передаваемых параметров
      Specified by:
      argsCasing in interface ArgsCasing
      Returns:
      0 - нет различий,
      1 - кол-во входных и исходящих параметров различается на один параметер,
      2 - кол-во входных и исходящих параметров различается на два параметера, ...
    • invariantArgs

      public int invariantArgs()
      Description copied from interface: InvariantArgs
      Возвращает кол-во аргументов которые передаются без изменения типов данных
      Specified by:
      invariantArgs in interface InvariantArgs
      Returns:
      0 - нет аргументов которые передаются без изменения типов данных
      1 - один аргумент
    • primitiveCastArgs

      public int primitiveCastArgs()
      Description copied from interface: PrimitiveCastArgs
      Возвращает кол-во аргументов которые передаются с преобразованием примитивных типов данных
      Specified by:
      primitiveCastArgs in interface PrimitiveCastArgs
      Returns:
      0 - нет аргументов которые передаются с преобразованием примитивных типов данных
      1 - один аргумент
    • castLooseDataArgs

      public int castLooseDataArgs()
      Description copied from interface: CastLooseDataArgs
      Возвращает кол-во аргументов которые передаются с преобразованием примитивных типов данных и потерей точности данных при преобразовании
      Specified by:
      castLooseDataArgs in interface CastLooseDataArgs
      Returns:
      0 - нет аргументов которые передаются с преобразованием примитивных типов данных и потерей точности данных при преобразовании
      1 - один аргумент
    • covariantArgs

      public int covariantArgs()
      Description copied from interface: CovariantArgs
      Возвращает кол-во аргументов которые передаются с ковариантным преобразованием типов данных
      Specified by:
      covariantArgs in interface CovariantArgs
      Returns:
      0 - нет аргументов которые передаются с ковариантным преобразованием типов данных
      1 - один аргумент
    • implicitArgs

      public int implicitArgs()
      Description copied from interface: ImplicitArgs
      Возвращает кол-во аргументов которые передаются с неявным преобразованием типов данных
      Specified by:
      implicitArgs in interface ImplicitArgs
      Returns:
      0 - нет аргументов которые передаются с неявным преобразованием типов данных
      1 - один аргумент
    • parameterCount

      public int parameterCount()
      Description copied from interface: ParameterCount
      Возвращает кол-во передаваемых типов данных
      Specified by:
      parameterCount in interface ParameterCount
      Returns:
      кол-во параметров
    • toString

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