Class ArgPass

java.lang.Object
xyz.cofe.cxel.eval.ArgPass

public class ArgPass
extends java.lang.Object
Передача аргумента в функцию
  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected boolean cacheable  
    protected Call call  
    protected boolean castLooseData
    При преобразовании типа данных, была ли потеря точности исчислений
    protected boolean covariant  
    protected boolean implicit  
    protected int index  
    protected java.lang.Class<?> inputType
    Принимаемый тип
    protected boolean invarant
    Аргумент передается без изменений
    protected boolean passable
    Аргумент может быть передан, функция с данным аргументом может быть вызвана
    protected java.util.function.Function<ArgPass,​java.lang.Object> passedArgument  
    protected boolean primitiveCast
    Преобразование примитивного типа данных
  • Constructor Summary

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

    Modifier and Type Method Description
    java.lang.Object arg()
    Входной аргумент
    ArgPass arg​(java.lang.Object arg)
    Создает клон и указывает аргумент
    ArgPass arg​(java.util.function.Function<ArgPass,​java.lang.Object> arg)
    Создает клон и указывает аргумент
    ArgPass cacheable​(boolean cacheAllowed)
    Клонирует и указывет факт возможности кэширования без перестройки Call
    Call call()
    Возвращает объект вызова
    ArgPass call​(Call ncall)
    Клонирует и указывает объект вызова
    ArgPass castLooseData​(boolean looseData)
    При преобразовании типа данных, была ли потеря точности исчислений
    ArgPass clone()  
    protected ArgPass cloneAndConf​(java.util.function.Consumer<ArgPass> conf)
    Клонирование и настройка клона
    protected ArgPass configure​(java.util.function.Consumer<ArgPass> conf)
    Настройка экземпляра
    static ArgPass covar​(int idx, java.lang.Class<?> type, java.lang.Object value)
    Аргумент может быть передан с использованием коваринтного приведения типа
    static ArgPass covar​(int idx, java.lang.Class<?> type, java.util.function.Function<ArgPass,​java.lang.Object> value)
    Аргумент может быть передан с использованием коваринтного приведения типа
    ArgPass covariant()
    Создает клон и указывает значение не сопадает по типу полностью, но может быть передано, т.к. ковариантно
    ArgPass covariant​(boolean covar)
    Создает клон и указывает значение не сопадает по типу полностью, но может быть передано, т.к. ковариантно
    ArgPass implicit()
    Значение не совпадет по типу, но может быть передано, т.к. пременено неявное преобразование типа
    ArgPass implicit​(boolean implicit)
    Значение не совпадет по типу, но может быть передано, т.к. пременено неявное преобразование типа
    static ArgPass implicit​(int idx, java.lang.Class<?> type, java.lang.Object value)
    Аргумент может быть передан с использованием неявного преобразования
    static ArgPass implicit​(int idx, java.lang.Class<?> type, java.util.function.Function<ArgPass,​java.lang.Object> value)
    Аргумент может быть передан с использованием неявного преобразования
    int index()
    Индекс аргумента
    ArgPass index​(int idx)
    Создает клон и указывает индекс аргумента
    java.lang.Class<?> inputType()
    Возвращает Принимаемый тип
    ArgPass inputType​(java.lang.Class<?> cls)
    Создает клон и указывает принимаемый тип
    java.lang.Object inputValue()
    Возвращает входное значение аргумента вызова.
    ArgPass invariant()
    Создает клон и указывает аргумент передается без изменений типа
    ArgPass invariant​(boolean inv)
    Создает клон и указывает аргумент передается без изменений типа
    static ArgPass invariant​(int idx, java.lang.Class<?> type, java.lang.Object value)
    Аргумент может быть передан без какиз либо преобрахований
    static ArgPass invariant​(int idx, java.lang.Class<?> type, java.util.function.Function<ArgPass,​java.lang.Object> fnvalue)
    Аргумент может быть передан без какиз либо преобрахований
    boolean isCacheable()
    Возвращает факт возможности кэширования без перестройки Call
    boolean isCastLooseData()
    При преобразовании типа данных, была ли потеря точности исчислений
    boolean isCovariant()
    Значение не сопадает по типу полностью, но может быть передано, т.к. ковариантно
    boolean isImplicit()
    Значение не совпадет по типу, но может быть передано, т.к. пременено неявное преобразование типа
    boolean isInvarant()
    Аргумент передается без изменений типа
    boolean isPassable()
    Аргумент может быть передан, функция с данным аргументом может быть вызвана
    boolean isPrimitiveCast()
    Возвращает факт преобразование примитивного типа данных
    ArgPass passable()
    Создает клон и указывает аргумент может быть передан, функция с данным аргументом может быть вызвана
    ArgPass passable​(boolean p)
    Создает клон и указывает аргумент может быть передан или нет, функция с данным аргументом может быть вызвана
    ArgPass primitiveCast​(boolean pcast)
    Преобразование примитивного типа данных
    ArgPass setCall​(Call ncall)
    Указывает объект вызова
    ArgPass unpassable()
    Создает клон и указывает аргумент не может быть передан, функция с данным аргументом не может быть вызвана
    static ArgPass unpassable​(int idx, java.lang.Class<?> type, java.lang.Object value)
    Аргумент не может быть передан

    Methods inherited from class java.lang.Object

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

    • call

      protected Call call
    • index

      protected int index
    • inputType

      protected java.lang.Class<?> inputType
      Принимаемый тип
    • passedArgument

      protected java.util.function.Function<ArgPass,​java.lang.Object> passedArgument
    • passable

      protected boolean passable
      Аргумент может быть передан, функция с данным аргументом может быть вызвана
    • cacheable

      protected boolean cacheable
    • invarant

      protected boolean invarant
      Аргумент передается без изменений
    • covariant

      protected boolean covariant
    • implicit

      protected boolean implicit
    • primitiveCast

      protected boolean primitiveCast
      Преобразование примитивного типа данных
    • castLooseData

      protected boolean castLooseData
      При преобразовании типа данных, была ли потеря точности исчислений
  • Constructor Details

    • ArgPass

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

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

    • clone

      public ArgPass clone()
      Overrides:
      clone in class java.lang.Object
    • configure

      protected ArgPass configure​(java.util.function.Consumer<ArgPass> conf)
      Настройка экземпляра
      Parameters:
      conf - конфигурация
      Returns:
      self ссылка
    • cloneAndConf

      protected ArgPass cloneAndConf​(java.util.function.Consumer<ArgPass> conf)
      Клонирование и настройка клона
      Parameters:
      conf - конфигурация
      Returns:
      клон
    • unpassable

      public static ArgPass unpassable​(int idx, java.lang.Class<?> type, java.lang.Object value)
      Аргумент не может быть передан
      Parameters:
      idx - индекс аргумента
      type - входящий тип
      value - значение аргумента
      Returns:
      Форма передачи аргмента
    • invariant

      public static ArgPass invariant​(int idx, java.lang.Class<?> type, java.lang.Object value)
      Аргумент может быть передан без какиз либо преобрахований
      Parameters:
      idx - индекс аргумента
      type - входящий тип
      value - значение аргумента
      Returns:
      Форма передачи аргмента
    • invariant

      public static ArgPass invariant​(int idx, java.lang.Class<?> type, java.util.function.Function<ArgPass,​java.lang.Object> fnvalue)
      Аргумент может быть передан без какиз либо преобрахований
      Parameters:
      idx - индекс аргумента
      type - входящий тип
      fnvalue - значение аргумента
      Returns:
      Форма передачи аргмента
    • covar

      public static ArgPass covar​(int idx, java.lang.Class<?> type, java.lang.Object value)
      Аргумент может быть передан с использованием коваринтного приведения типа
      Parameters:
      idx - индекс аргумента
      type - входящий тип
      value - значение аргумента
      Returns:
      Форма передачи аргмента
    • covar

      public static ArgPass covar​(int idx, java.lang.Class<?> type, java.util.function.Function<ArgPass,​java.lang.Object> value)
      Аргумент может быть передан с использованием коваринтного приведения типа
      Parameters:
      idx - индекс аргумента
      type - входящий тип
      value - значение аргумента
      Returns:
      Форма передачи аргмента
    • implicit

      public static ArgPass implicit​(int idx, java.lang.Class<?> type, java.lang.Object value)
      Аргумент может быть передан с использованием неявного преобразования
      Parameters:
      idx - индекс аргумента
      type - входящий тип
      value - значение аргумента
      Returns:
      Форма передачи аргмента
    • implicit

      public static ArgPass implicit​(int idx, java.lang.Class<?> type, java.util.function.Function<ArgPass,​java.lang.Object> value)
      Аргумент может быть передан с использованием неявного преобразования
      Parameters:
      idx - индекс аргумента
      type - входящий тип
      value - значение аргумента
      Returns:
      Форма передачи аргмента
    • call

      public Call call()
      Возвращает объект вызова
      Returns:
      объект вызова
    • call

      public ArgPass call​(Call ncall)
      Клонирует и указывает объект вызова
      Parameters:
      ncall - объект вызова
      Returns:
      клон
    • setCall

      public ArgPass setCall​(Call ncall)
      Указывает объект вызова
      Parameters:
      ncall - объект вызова
      Returns:
      self ссылка
    • inputValue

      public java.lang.Object inputValue()
      Возвращает входное значение аргумента вызова. Равноценно вызову self.call().getInputArgs().get( self.index() ).
      Returns:
      входное значение
    • index

      public int index()
      Индекс аргумента
      Returns:
      индекс
    • index

      public ArgPass index​(int idx)
      Создает клон и указывает индекс аргумента
      Parameters:
      idx - индекс
      Returns:
      клон с новыми параметрами
    • inputType

      public java.lang.Class<?> inputType()
      Возвращает Принимаемый тип
      Returns:
      Принимаемый тип
    • inputType

      public ArgPass inputType​(java.lang.Class<?> cls)
      Создает клон и указывает принимаемый тип
      Parameters:
      cls - Принимаемый тип
      Returns:
      клон с новыми параметрами
    • arg

      public java.lang.Object arg()
      Входной аргумент
      Returns:
      аргумент
    • arg

      public ArgPass arg​(java.lang.Object arg)
      Создает клон и указывает аргумент
      Parameters:
      arg - аргумент
      Returns:
      клон с новыми параметрами
    • arg

      public ArgPass arg​(java.util.function.Function<ArgPass,​java.lang.Object> arg)
      Создает клон и указывает аргумент
      Parameters:
      arg - аргумент
      Returns:
      клон с новыми параметрами
    • isPassable

      public boolean isPassable()
      Аргумент может быть передан, функция с данным аргументом может быть вызвана
      Returns:
      true - передаваемый аргумент
    • passable

      public ArgPass passable​(boolean p)
      Создает клон и указывает аргумент может быть передан или нет, функция с данным аргументом может быть вызвана
      Parameters:
      p - передаваемый аргумент
      Returns:
      клон с новыми параметрами
    • passable

      public ArgPass passable()
      Создает клон и указывает аргумент может быть передан, функция с данным аргументом может быть вызвана
      Returns:
      клон с новыми параметрами
    • unpassable

      public ArgPass unpassable()
      Создает клон и указывает аргумент не может быть передан, функция с данным аргументом не может быть вызвана
      Returns:
      клон с новыми параметрами
    • isCacheable

      public boolean isCacheable()
      Возвращает факт возможности кэширования без перестройки Call
      Returns:
      true - можно использовать без пересоздания Call
    • cacheable

      public ArgPass cacheable​(boolean cacheAllowed)
      Клонирует и указывет факт возможности кэширования без перестройки Call
      Parameters:
      cacheAllowed - true - можно использовать без пересоздания Call
      Returns:
      Клон
    • isInvarant

      public boolean isInvarant()
      Аргумент передается без изменений типа
      Returns:
      Аргумент передается без изменений
    • invariant

      public ArgPass invariant​(boolean inv)
      Создает клон и указывает аргумент передается без изменений типа
      Parameters:
      inv - передаваемый аргумент передается без изменений
      Returns:
      клон с новыми параметрами
    • invariant

      public ArgPass invariant()
      Создает клон и указывает аргумент передается без изменений типа
      Returns:
      клон с новыми параметрами
    • isCovariant

      public boolean isCovariant()
      Значение не сопадает по типу полностью, но может быть передано, т.к. ковариантно
      Returns:
      значение ковариантно
    • covariant

      public ArgPass covariant​(boolean covar)
      Создает клон и указывает значение не сопадает по типу полностью, но может быть передано, т.к. ковариантно
      Parameters:
      covar - значение ковариантно
      Returns:
      клон с новыми параметрами
    • covariant

      public ArgPass covariant()
      Создает клон и указывает значение не сопадает по типу полностью, но может быть передано, т.к. ковариантно
      Returns:
      клон с новыми параметрами
    • isImplicit

      public boolean isImplicit()
      Значение не совпадет по типу, но может быть передано, т.к. пременено неявное преобразование типа
      Returns:
      значение неявно преобразовано
    • implicit

      public ArgPass implicit​(boolean implicit)
      Значение не совпадет по типу, но может быть передано, т.к. пременено неявное преобразование типа
      Parameters:
      implicit - true - значение неявно преобразовано, false - неявного преобразования небыло
      Returns:
      клон с настройками
    • implicit

      public ArgPass implicit()
      Значение не совпадет по типу, но может быть передано, т.к. пременено неявное преобразование типа
      Returns:
      клон с настройками
    • isPrimitiveCast

      public boolean isPrimitiveCast()
      Возвращает факт преобразование примитивного типа данных
      Returns:
      Преобразование примитивного типа данных
    • primitiveCast

      public ArgPass primitiveCast​(boolean pcast)
      Преобразование примитивного типа данных
      Parameters:
      pcast - true - Преобразование примитивного типа данных, false - небыло преобразование примитивного типа
      Returns:
      клон
    • isCastLooseData

      public boolean isCastLooseData()
      При преобразовании типа данных, была ли потеря точности исчислений
      Returns:
      была ли потеря точности исчислений
    • castLooseData

      public ArgPass castLooseData​(boolean looseData)
      При преобразовании типа данных, была ли потеря точности исчислений
      Parameters:
      looseData - true - была потеря, false - не было потери
      Returns:
      клон с настройками