public class UserDefinedFunctionUtils extends Object
Constructor and Description |
---|
UserDefinedFunctionUtils() |
Modifier and Type | Method and Description |
---|---|
static Method[] |
checkAndExtractEvalMethods(UserDefinedFunction function)
Extracts "eval" methods and throws a
ValidationException if no implementation
can be found. |
static void |
checkForInstantiation(Class<?> clazz)
Checks if a user-defined function can be easily instantiated.
|
static void |
checkNotSingleton(Class<?> clazz)
Check whether this is a Scala object.
|
static org.apache.calcite.sql.SqlFunction |
createScalarSqlFunction(String name,
ScalarFunction function,
FlinkTypeFactory typeFactory)
Create
SqlFunction for a ScalarFunction |
static scala.collection.Seq<org.apache.calcite.sql.SqlFunction> |
createTableSqlFunctions(String name,
TableFunction<?> tableFunction,
TypeInformation<?> resultType,
FlinkTypeFactory typeFactory)
Create
SqlFunction s for a TableFunction 's every eval method |
static scala.Option<Method> |
getEvalMethod(UserDefinedFunction function,
scala.collection.Seq<TypeInformation<?>> signature)
Returns eval method matching the given signature of
TypeInformation . |
static scala.Tuple3<String[],int[],TypeInformation<?>[]> |
getFieldInfo(TypeInformation<?> inputType)
Returns field names and field positions for a given
TypeInformation . |
static TypeInformation<?> |
getResultType(ScalarFunction function,
Class<?>[] signature)
Internal method of
ScalarFunction#getResultType() that does some pre-checking and uses
TypeExtractor as default return type inference. |
static Class<?> |
getResultTypeClass(ScalarFunction function,
Class<?>[] signature)
Returns the return type of the evaluation method matching the given signature.
|
static scala.Option<Class<?>[]> |
getSignature(UserDefinedFunction function,
scala.collection.Seq<TypeInformation<?>> signature)
Returns signatures matching the given signature of
TypeInformation . |
static Class<?>[][] |
getSignatures(UserDefinedFunction function) |
static <T extends UserDefinedFunction> |
instantiate(Class<T> clazz)
Instantiates a user-defined function.
|
static String |
signaturesToString(UserDefinedFunction function)
Prints all eval methods signatures of a class.
|
static String |
signatureToString(Class<?>[] signature)
Prints one signature consisting of classes.
|
static String |
signatureToString(scala.collection.Seq<TypeInformation<?>> signature)
Prints one signature consisting of TypeInformation.
|
public static <T extends UserDefinedFunction> T instantiate(Class<T> clazz)
public static void checkForInstantiation(Class<?> clazz)
public static void checkNotSingleton(Class<?> clazz)
TableFunction
implemented
by a Scala object, since concurrent risks.public static scala.Option<Class<?>[]> getSignature(UserDefinedFunction function, scala.collection.Seq<TypeInformation<?>> signature)
TypeInformation
.
Elements of the signature can be null (act as a wildcard).public static scala.Option<Method> getEvalMethod(UserDefinedFunction function, scala.collection.Seq<TypeInformation<?>> signature)
TypeInformation
.public static Method[] checkAndExtractEvalMethods(UserDefinedFunction function)
ValidationException
if no implementation
can be found.public static Class<?>[][] getSignatures(UserDefinedFunction function)
public static org.apache.calcite.sql.SqlFunction createScalarSqlFunction(String name, ScalarFunction function, FlinkTypeFactory typeFactory)
SqlFunction
for a ScalarFunction
name
- function namefunction
- scalar functiontypeFactory
- type factorypublic static scala.collection.Seq<org.apache.calcite.sql.SqlFunction> createTableSqlFunctions(String name, TableFunction<?> tableFunction, TypeInformation<?> resultType, FlinkTypeFactory typeFactory)
SqlFunction
s for a TableFunction
's every eval method
name
- function nametableFunction
- table functionresultType
- the type information of returned tabletypeFactory
- type factorypublic static TypeInformation<?> getResultType(ScalarFunction function, Class<?>[] signature)
ScalarFunction#getResultType()
that does some pre-checking and uses
TypeExtractor
as default return type inference.public static Class<?> getResultTypeClass(ScalarFunction function, Class<?>[] signature)
public static scala.Tuple3<String[],int[],TypeInformation<?>[]> getFieldInfo(TypeInformation<?> inputType)
TypeInformation
.
Field names are automatically extracted for
CompositeType
.
inputType
- The TypeInformation to extract the field names and positions from.public static String signatureToString(Class<?>[] signature)
public static String signatureToString(scala.collection.Seq<TypeInformation<?>> signature)
public static String signaturesToString(UserDefinedFunction function)
Copyright © 2014–2017 The Apache Software Foundation. All rights reserved.