Class SqmFunction<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>
- 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:
SelfRenderingSqmFunction
public abstract class SqmFunction<T>
extends AbstractSqmExpression<T>
implements JpaFunction<T>, SemanticPathPart
A SQM function
- See Also:
-
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionSqmFunction
(String functionName, SqmFunctionDescriptor functionDescriptor, @Nullable SqmExpressible<T> type, List<? extends SqmTypedNode<?>> arguments, NodeBuilder criteriaBuilder) -
Method Summary
Modifier and TypeMethodDescription<X> X
accept
(SemanticQueryWalker<X> walker) Accept the walker per visitationvoid
abstract Expression
convertToSqlAst
(SqmToSqlAstConverter walker) List<? extends SqmTypedNode<?>>
Retrieve the name of the function.SqmPath<?>
resolveIndexedAccess
(SqmExpression<?> selector, boolean isTerminal, SqmCreationState creationState) resolvePathPart
(String name, boolean isTerminal, SqmCreationState creationState) 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, getNodeType, 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, copy, getNodeType, 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
-
SqmFunction
public SqmFunction(String functionName, SqmFunctionDescriptor functionDescriptor, @Nullable SqmExpressible<T> type, List<? extends SqmTypedNode<?>> arguments, NodeBuilder criteriaBuilder)
-
-
Method Details
-
getFunctionDescriptor
-
getFunctionName
Description copied from interface:JpaFunction
Retrieve the name of the function.- Specified by:
getFunctionName
in interfaceJpaFunction<T>
- Returns:
- The function name.
-
getArguments
-
convertToSqlAst
-
accept
Description copied from interface:SqmVisitableNode
Accept the walker per visitation- Specified by:
accept
in interfaceSqmVisitableNode
-
appendHqlString
- Specified by:
appendHqlString
in interfaceSqmVisitableNode
-
resolvePathPart
public SemanticPathPart resolvePathPart(String name, boolean isTerminal, SqmCreationState creationState) - Specified by:
resolvePathPart
in interfaceSemanticPathPart
-
resolveIndexedAccess
public SqmPath<?> resolveIndexedAccess(SqmExpression<?> selector, boolean isTerminal, SqmCreationState creationState) - Specified by:
resolveIndexedAccess
in interfaceSemanticPathPart
-