Class StandardFunctionReturnTypeResolvers
java.lang.Object
org.hibernate.query.sqm.produce.function.StandardFunctionReturnTypeResolvers
-
Method Summary
Modifier and TypeMethodDescriptionstatic 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
A resolver that defines an invariant result type.static boolean
isAssignableTo
(JdbcMapping defined, JdbcMapping implied) static boolean
isAssignableTo
(ReturnableType<?> defined, ReturnableType<?> implied) static FunctionReturnTypeResolver
useArgType
(int argPosition) static FunctionReturnTypeResolver
static BasicValuedMapping
useImpliedTypeIfPossible
(BasicValuedMapping defined, BasicValuedMapping implied)
-
Method Details
-
invariant
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
-
useFirstNonNull
-
isAssignableTo
@Internal public static boolean isAssignableTo(ReturnableType<?> defined, ReturnableType<?> implied) -
isAssignableTo
-
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)
-