Class StandardFunctionReturnTypeResolvers
java.lang.Object
org.hibernate.query.sqm.produce.function.StandardFunctionReturnTypeResolvers
-
Method Summary
Modifier and TypeMethodDescriptionstatic ReturnableType<?> extractArgumentType(List<? extends SqmTypedNode<?>> arguments, int position) static BasicValuedMappingextractArgumentValuedMapping(List<? extends SqlAstNode> arguments, int position) static FunctionReturnTypeResolverA resolver that defines an invariant result type.static booleanisAssignableTo(JdbcMapping defined, JdbcMapping implied) static booleanisAssignableTo(ReturnableType<?> defined, ReturnableType<?> implied) static FunctionReturnTypeResolveruseArgType(int argPosition) static FunctionReturnTypeResolverstatic BasicValuedMappinguseImpliedTypeIfPossible(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) -
extractArgumentValuedMapping
public static BasicValuedMapping extractArgumentValuedMapping(List<? extends SqlAstNode> arguments, int position)
-