Package xyz.cofe.cxel.eval
Interface TypedFn
- All Known Implementing Classes:
ReflectTypedFn
public interface TypedFn
Функция с типами
-
Method Summary
Modifier and Type Method Description java.lang.Objectcall(java.lang.Object[] args)Вызов функцииjava.lang.reflect.Type[]getParameterTypes()Возвращает тип аргументовjava.lang.reflect.TypegetReturnType()Возврщает тип реузльтатаstatic <A0, A1, Z> TypedFnof(java.lang.Class<A0> targ0, java.lang.Class<A1> targ1, java.lang.Class<Z> returnType, java.util.function.BiFunction<A0,A1,Z> fn)Создание "функции" 2ух аргументов из лямбдыstatic <A0, Z> TypedFnof(java.lang.Class<A0> targ0, java.lang.Class<Z> returnType, java.util.function.Function<A0,Z> fn)Создание "функции" 1го аргумента из лямбдыstatic <Z> TypedFnof(java.lang.Class<Z> returnType, java.util.function.Supplier<Z> fn)Создание "функции" из лямбдыstatic TypedFnof(java.lang.reflect.Method method)Создание экземпляра для существующего статического метода
-
Method Details
-
getParameterTypes
java.lang.reflect.Type[] getParameterTypes()Возвращает тип аргументов- Returns:
- тип аргументов
-
getReturnType
java.lang.reflect.Type getReturnType()Возврщает тип реузльтата- Returns:
- тип результата
-
call
java.lang.Object call(java.lang.Object[] args)Вызов функции- Parameters:
args- аргументы- Returns:
- результат вызова
-
of
Создание экземпляра для существующего статического метода- Parameters:
method- метод- Returns:
- Экземпляр
-
of
Создание "функции" из лямбды- Type Parameters:
Z- возвращаемый тип- Parameters:
returnType- возвращаемый типfn- лямбда- Returns:
- "функция"
-
of
static <A0, Z> TypedFn of(java.lang.Class<A0> targ0, java.lang.Class<Z> returnType, java.util.function.Function<A0,Z> fn)Создание "функции" 1го аргумента из лямбды- Type Parameters:
Z- возвращаемый тип- Parameters:
targ0- тип первого аргументаreturnType- возвращаемый типfn- лямбда- Returns:
- "функция"
-
of
static <A0, A1, Z> TypedFn of(java.lang.Class<A0> targ0, java.lang.Class<A1> targ1, java.lang.Class<Z> returnType, java.util.function.BiFunction<A0,A1,Z> fn)Создание "функции" 2ух аргументов из лямбды- Type Parameters:
Z- возвращаемый тип- Parameters:
targ0- тип первого аргументаtarg1- тип второго аргументаreturnType- возвращаемый типfn- лямбда- Returns:
- "функция"
-