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 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