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:
AbstractSqmJsonPathExpression
,FormatFunction.FormatSqmFunction
,SelfRenderingSqmAggregateFunction
,SelfRenderingSqmWindowFunction
,SqmXmlElementExpression
- 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) -
Method Summary
Modifier and TypeMethodDescriptionconvertToSqlAst
(SqmToSqlAstConverter walker) copy
(SqmCopyContext context) protected @Nullable ReturnableType<?>
determineResultType
(SqmToSqlAstConverter converter, TypeConfiguration typeConfiguration) protected @Nullable ArgumentsValidator
protected @Nullable ReturnableType<T>
protected MappingModelExpressible<?>
getMappingModelExpressible
(SqmToSqlAstConverter walker, ReturnableType<?> resultType, List<SqlAstNode> arguments) @Nullable SqmExpressible<T>
The expression's type.protected FunctionReturnTypeResolver
@Nullable ReturnableType<?>
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, resolvePathPart
Methods inherited from class org.hibernate.query.sqm.tree.expression.AbstractSqmExpression
applyInferableType, as, asBigDecimal, asBigInteger, asDouble, asFloat, asInteger, asLong, asString, cast, equalTo, equalTo, getJavaTypeDescriptor, in, in, in, in, internalApplyInferableType, isNotNull, isNull, nodeBuilder, notEqualTo, notEqualTo
Methods inherited from class org.hibernate.query.sqm.tree.jpa.AbstractJpaSelection
alias, getSelectionItems, isCompoundSelection
Methods inherited from class org.hibernate.query.sqm.tree.jpa.AbstractJpaTupleElement
copyTo, getAlias, setAlias, setExpressibleType
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.hibernate.query.criteria.JpaSelection
alias, getCompoundSelectionItems, getSelectionItems
Methods inherited from interface org.hibernate.query.criteria.JpaTupleElement
getJavaType, getJavaTypeDescriptor, getJavaTypeName, isEnum
Methods inherited from interface jakarta.persistence.criteria.Selection
isCompoundSelection
Methods inherited from interface org.hibernate.query.sqm.tree.expression.SqmExpression
castAs, visitSubSelectableNodes
Methods inherited from interface org.hibernate.query.sqm.tree.SqmNode
asLoggableText
Methods inherited from interface org.hibernate.query.sqm.tree.select.SqmSelectableNode
getTupleLength
Methods inherited from interface org.hibernate.query.sqm.tree.SqmTypedNode
getExpressible, getNodeJavaType
Methods inherited from interface org.hibernate.query.sqm.tree.SqmVisitableNode
toHqlString
Methods inherited from interface jakarta.persistence.TupleElement
getAlias
-
Constructor Details
-
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
-
getFunctionRenderer
-
getImpliedResultType
-
getArgumentsValidator
-
getReturnTypeResolver
-
resolveSqlAstArguments
protected List<SqlAstNode> resolveSqlAstArguments(List<? extends SqmTypedNode<?>> sqmArguments, SqmToSqlAstConverter walker) -
convertToSqlAst
- Specified by:
convertToSqlAst
in classSqmFunction<T>
-
getNodeType
Description copied from interface:SqmExpression
The expression's type.Can change as a result of calls to
SqmExpression.applyInferableType(org.hibernate.query.sqm.SqmExpressible<?>)
- Specified by:
getNodeType
in interfaceSqmExpression<T>
- Specified by:
getNodeType
in interfaceSqmTypedNode<T>
- Overrides:
getNodeType
in classAbstractJpaTupleElement<T>
-
resolveResultType
-
determineResultType
protected @Nullable ReturnableType<?> determineResultType(SqmToSqlAstConverter converter, TypeConfiguration typeConfiguration) -
getMappingModelExpressible
protected MappingModelExpressible<?> getMappingModelExpressible(SqmToSqlAstConverter walker, ReturnableType<?> resultType, List<SqlAstNode> arguments)
-