Interface FunctionArgumentTypeResolver
- All Known Implementing Classes:
AbstractFunctionArgumentTypeResolver
,ArrayAndElementArgumentTypeResolver
,ArrayContainsArgumentTypeResolver
,ArrayIncludesArgumentTypeResolver
,GenerateSeriesArgumentTypeResolver
public interface FunctionArgumentTypeResolver
Pluggable strategy for resolving a function argument type for a specific call.
-
Method Summary
Modifier and TypeMethodDescriptiondefault @Nullable MappingModelExpressible<?>
resolveFunctionArgumentType
(List<? extends SqmTypedNode<?>> arguments, int argumentIndex, SqmToSqlAstConverter converter) Resolve the argument type for a function given its context-implied return type.@Nullable MappingModelExpressible<?>
resolveFunctionArgumentType
(SqmFunction<?> function, int argumentIndex, SqmToSqlAstConverter converter) Deprecated, for removal: This API element is subject to removal in a future version.
-
Method Details
-
resolveFunctionArgumentType
@Deprecated(forRemoval=true) @Nullable MappingModelExpressible<?> resolveFunctionArgumentType(SqmFunction<?> function, int argumentIndex, SqmToSqlAstConverter converter) Deprecated, for removal: This API element is subject to removal in a future version.Resolve the argument type for a function given its context-implied return type.The context-implied type is the type implied by where the function occurs in the query. E.g., for an equality predicate (`something = some_function`) the implied type would be defined by the type of `something`.
- Returns:
- The resolved type.
-
resolveFunctionArgumentType
default @Nullable MappingModelExpressible<?> resolveFunctionArgumentType(List<? extends SqmTypedNode<?>> arguments, int argumentIndex, SqmToSqlAstConverter converter) Resolve the argument type for a function given its context-implied return type.The context-implied type is the type implied by where the function occurs in the query. E.g., for an equality predicate (`something = some_function`) the implied type would be defined by the type of `something`.
- Returns:
- The resolved type.
- Since:
- 7.0
-
resolveFunctionArgumentType(List, int, SqmToSqlAstConverter)
instead