Package org.hibernate.query.sqm.function
Class SelfRenderingSqmFunction<T>
java.lang.Object
org.hibernate.query.sqm.tree.AbstractSqmNode
org.hibernate.query.sqm.tree.jpa.AbstractJpaTupleElement<T>
org.hibernate.query.sqm.tree.jpa.AbstractJpaSelection<T>
org.hibernate.query.sqm.tree.expression.AbstractSqmExpression<T>
org.hibernate.query.sqm.tree.expression.SqmFunction<T>
org.hibernate.query.sqm.function.SelfRenderingSqmFunction<T>
- All Implemented Interfaces:
Expression<T>,Selection<T>,TupleElement<T>,Serializable,JpaCriteriaNode,JpaExpression<T>,JpaFunction<T>,JpaSelection<T>,JpaTupleElement<T>,SemanticPathPart,SqmExpression<T>,SqmSelectableNode<T>,SqmExpressibleAccessor<T>,SqmNode,SqmTypedNode<T>,SqmVisitableNode
- Direct Known Subclasses:
FormatFunction.FormatSqmFunction,SelfRenderingSqmAggregateFunction,SelfRenderingSqmWindowFunction
- Author:
- Steve Ebersole
- See Also:
-
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionSelfRenderingSqmFunction(SqmFunctionDescriptor descriptor, FunctionRenderer renderer, List<? extends SqmTypedNode<?>> arguments, @Nullable ReturnableType<T> impliedResultType, @Nullable ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, NodeBuilder nodeBuilder, String name) SelfRenderingSqmFunction(SqmFunctionDescriptor descriptor, FunctionRenderingSupport renderingSupport, List<? extends SqmTypedNode<?>> arguments, @Nullable ReturnableType<T> impliedResultType, @Nullable ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, NodeBuilder nodeBuilder, String name) Deprecated, for removal: This API element is subject to removal in a future version. -
Method Summary
Modifier and TypeMethodDescriptionconvertToSqlAst(SqmToSqlAstConverter walker) copy(SqmCopyContext context) protected @Nullable ReturnableType<?>determineResultType(SqmToSqlAstConverter converter, TypeConfiguration typeConfiguration) protected @Nullable ArgumentsValidatorprotected @Nullable ReturnableType<T>protected MappingModelExpressible<?>getMappingModelExpressible(SqmToSqlAstConverter walker, ReturnableType<?> resultType, List<SqlAstNode> arguments) @Nullable SqmExpressible<T>The expression's type.Deprecated, for removal: This API element is subject to removal in a future version.UsegetFunctionRenderer()insteadprotected FunctionReturnTypeResolverprotected @Nullable ReturnableType<?>resolveResultType(Supplier<MappingModelExpressible<?>> inferredTypeSupplier, TypeConfiguration typeConfiguration) Deprecated, for removal: This API element is subject to removal in a future version.@Nullable ReturnableType<?>protected @Nullable ReturnableType<?>resolveResultType(TypeConfiguration typeConfiguration) Deprecated, for removal: This API element is subject to removal in a future version.protected List<SqlAstNode>resolveSqlAstArguments(List<? extends SqmTypedNode<?>> sqmArguments, SqmToSqlAstConverter walker) Methods inherited from class org.hibernate.query.sqm.tree.expression.SqmFunction
accept, appendHqlString, getArguments, getFunctionDescriptor, getFunctionName, resolveIndexedAccess, resolvePathPartMethods inherited from class org.hibernate.query.sqm.tree.expression.AbstractSqmExpression
applyInferableType, as, asBigDecimal, asBigInteger, asDouble, asFloat, asInteger, asLong, asString, equalTo, equalTo, getJavaTypeDescriptor, in, in, in, in, internalApplyInferableType, isNotNull, isNull, nodeBuilderMethods inherited from class org.hibernate.query.sqm.tree.jpa.AbstractJpaSelection
alias, getSelectionItems, isCompoundSelectionMethods inherited from class org.hibernate.query.sqm.tree.jpa.AbstractJpaTupleElement
copyTo, getAlias, setAlias, setExpressibleTypeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.hibernate.query.criteria.JpaSelection
alias, getCompoundSelectionItems, getSelectionItemsMethods inherited from interface org.hibernate.query.criteria.JpaTupleElement
getJavaType, getJavaTypeDescriptor, getJavaTypeName, isEnumMethods inherited from interface jakarta.persistence.criteria.Selection
isCompoundSelectionMethods inherited from interface org.hibernate.query.sqm.tree.expression.SqmExpression
cast, castAs, visitSubSelectableNodesMethods inherited from interface org.hibernate.query.sqm.tree.SqmNode
asLoggableTextMethods inherited from interface org.hibernate.query.sqm.tree.select.SqmSelectableNode
getTupleLengthMethods inherited from interface org.hibernate.query.sqm.tree.SqmTypedNode
getExpressible, getNodeJavaTypeMethods inherited from interface org.hibernate.query.sqm.tree.SqmVisitableNode
toHqlStringMethods inherited from interface jakarta.persistence.TupleElement
getAlias
-
Constructor Details
-
SelfRenderingSqmFunction
@Deprecated(forRemoval=true) public SelfRenderingSqmFunction(SqmFunctionDescriptor descriptor, FunctionRenderingSupport renderingSupport, List<? extends SqmTypedNode<?>> arguments, @Nullable ReturnableType<T> impliedResultType, @Nullable ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, NodeBuilder nodeBuilder, String name) Deprecated, for removal: This API element is subject to removal in a future version. -
SelfRenderingSqmFunction
public SelfRenderingSqmFunction(SqmFunctionDescriptor descriptor, FunctionRenderer renderer, List<? extends SqmTypedNode<?>> arguments, @Nullable ReturnableType<T> impliedResultType, @Nullable ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, NodeBuilder nodeBuilder, String name)
-
-
Method Details
-
copy
-
getRenderingSupport
Deprecated, for removal: This API element is subject to removal in a future version.UsegetFunctionRenderer()instead -
getFunctionRenderer
-
getImpliedResultType
-
getArgumentsValidator
-
getReturnTypeResolver
-
resolveSqlAstArguments
protected List<SqlAstNode> resolveSqlAstArguments(List<? extends SqmTypedNode<?>> sqmArguments, SqmToSqlAstConverter walker) -
convertToSqlAst
- Specified by:
convertToSqlAstin classSqmFunction<T>
-
getNodeType
Description copied from interface:SqmExpressionThe expression's type.Can change as a result of calls to
SqmExpression.applyInferableType(org.hibernate.query.sqm.SqmExpressible<?>)- Specified by:
getNodeTypein interfaceSqmExpression<T>- Specified by:
getNodeTypein interfaceSqmTypedNode<T>- Overrides:
getNodeTypein classAbstractJpaTupleElement<T>
-
resolveResultType
@Deprecated(forRemoval=true) protected @Nullable ReturnableType<?> resolveResultType(TypeConfiguration typeConfiguration) Deprecated, for removal: This API element is subject to removal in a future version. -
resolveResultType
-
determineResultType
protected @Nullable ReturnableType<?> determineResultType(SqmToSqlAstConverter converter, TypeConfiguration typeConfiguration) -
resolveResultType
@Deprecated(forRemoval=true) protected @Nullable ReturnableType<?> resolveResultType(Supplier<MappingModelExpressible<?>> inferredTypeSupplier, TypeConfiguration typeConfiguration) Deprecated, for removal: This API element is subject to removal in a future version. -
getMappingModelExpressible
protected MappingModelExpressible<?> getMappingModelExpressible(SqmToSqlAstConverter walker, ReturnableType<?> resultType, List<SqlAstNode> arguments)
-
SelfRenderingSqmFunction(SqmFunctionDescriptor, FunctionRenderer, List, ReturnableType, ArgumentsValidator, FunctionReturnTypeResolver, NodeBuilder, String)instead