Class StandardFunctionReturnTypeResolvers
- java.lang.Object
-
- org.hibernate.query.sqm.produce.function.StandardFunctionReturnTypeResolvers
-
public class StandardFunctionReturnTypeResolvers extends Object
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static JdbcMapping
extractArgumentJdbcMapping(TypeConfiguration typeConfiguration, List<? extends SqmTypedNode<?>> arguments, int position)
static ReturnableType<?>
extractArgumentType(List<? extends SqmTypedNode<?>> arguments, int position)
static BasicValuedMapping
extractArgumentValuedMapping(List<? extends SqlAstNode> arguments, int position)
static FunctionReturnTypeResolver
invariant(BasicType<?> invariantType)
A resolver that defines an invariant result type.static boolean
isAssignableTo(ReturnableType<?> defined, ReturnableType<?> implied)
static FunctionReturnTypeResolver
useArgType(int argPosition)
static FunctionReturnTypeResolver
useFirstNonNull()
static BasicValuedMapping
useImpliedTypeIfPossible(BasicValuedMapping defined, BasicValuedMapping implied)
-
-
-
Method Detail
-
invariant
public static FunctionReturnTypeResolver invariant(BasicType<?> invariantType)
A resolver that defines an invariant result type. E.g. `substring` always returns a String. Note however that to account for attribute converters and such, this resolver allows the context-implied expression type to be the return type so long as the Java types are compatible.
-
useArgType
public static FunctionReturnTypeResolver useArgType(int argPosition)
-
useFirstNonNull
public static FunctionReturnTypeResolver useFirstNonNull()
-
isAssignableTo
@Internal public static boolean isAssignableTo(ReturnableType<?> defined, ReturnableType<?> implied)
-
useImpliedTypeIfPossible
@Internal public static BasicValuedMapping useImpliedTypeIfPossible(BasicValuedMapping defined, BasicValuedMapping implied)
-
extractArgumentType
public static ReturnableType<?> extractArgumentType(List<? extends SqmTypedNode<?>> arguments, int position)
-
extractArgumentJdbcMapping
public static JdbcMapping extractArgumentJdbcMapping(TypeConfiguration typeConfiguration, List<? extends SqmTypedNode<?>> arguments, int position)
-
extractArgumentValuedMapping
public static BasicValuedMapping extractArgumentValuedMapping(List<? extends SqlAstNode> arguments, int position)
-
-