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 JdbcMappingextractArgumentJdbcMapping(TypeConfiguration typeConfiguration, List<? extends SqmTypedNode<?>> arguments, int position)static ReturnableType<?>extractArgumentType(List<? extends SqmTypedNode<?>> arguments, int position)static BasicValuedMappingextractArgumentValuedMapping(List<? extends SqlAstNode> arguments, int position)static FunctionReturnTypeResolverinvariant(BasicType<?> invariantType)A resolver that defines an invariant result type.static booleanisAssignableTo(JdbcMapping defined, JdbcMapping implied)static booleanisAssignableTo(ReturnableType<?> defined, ReturnableType<?> implied)static FunctionReturnTypeResolveruseArgType(int argPosition)static FunctionReturnTypeResolveruseFirstNonNull()static BasicValuedMappinguseImpliedTypeIfPossible(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)
-
isAssignableTo
@Internal public static boolean isAssignableTo(JdbcMapping defined, JdbcMapping 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)
-
-