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>, SqmCacheable, 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 SqmBindableType<T> type, List<? extends SqmTypedNode<?>> arguments, NodeBuilder criteriaBuilder) -
Method Summary
Modifier and TypeMethodDescription<X> Xaccept(SemanticQueryWalker<X> walker) Accept the walker per visitationvoidappendHqlString(StringBuilder hql, SqmRenderContext context) intabstract ExpressionconvertToSqlAst(SqmToSqlAstConverter walker) booleanList<? extends SqmTypedNode<?>> Retrieve the name of the function.inthashCode()booleanisCompatible(Object other) SqmPath<?> resolveIndexedAccess(SqmExpression<?> selector, boolean isTerminal, SqmCreationState creationState) resolvePathPart(String name, boolean isTerminal, SqmCreationState creationState) Methods inherited from class AbstractSqmExpression
applyInferableType, as, cast, equalTo, equalTo, getJavaTypeDescriptor, in, in, in, in, internalApplyInferableType, isNotNull, isNull, nodeBuilder, notEqualTo, notEqualToMethods inherited from class AbstractJpaSelection
alias, getSelectionItems, isCompoundSelectionMethods inherited from class AbstractJpaTupleElement
copyTo, getAlias, getNodeType, setAlias, setExpressibleTypeMethods inherited from class Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface JpaSelection
alias, getCompoundSelectionItems, getSelectionItemsMethods inherited from interface JpaTupleElement
getJavaType, getJavaTypeDescriptor, getJavaTypeName, isEnumMethods inherited from interface Selection
isCompoundSelectionMethods inherited from interface SqmExpression
asBigDecimal, asBigInteger, asDouble, asFloat, asInteger, asLong, asString, castAs, copy, getNodeType, visitSubSelectableNodesMethods inherited from interface SqmNode
asLoggableTextMethods inherited from interface SqmSelectableNode
getTupleLengthMethods inherited from interface SqmTypedNode
getExpressible, getNodeJavaTypeMethods inherited from interface SqmVisitableNode
toHqlStringMethods inherited from interface TupleElement
getAlias
-
Constructor Details
-
SqmFunction
public SqmFunction(String functionName, SqmFunctionDescriptor functionDescriptor, @Nullable SqmBindableType<T> type, List<? extends SqmTypedNode<?>> arguments, NodeBuilder criteriaBuilder)
-
-
Method Details
-
getFunctionDescriptor
-
getFunctionName
Description copied from interface:JpaFunctionRetrieve the name of the function.- Specified by:
getFunctionNamein interfaceJpaFunction<T>- Returns:
- The function name.
-
getArguments
-
convertToSqlAst
-
accept
Description copied from interface:SqmVisitableNodeAccept the walker per visitation- Specified by:
acceptin interfaceSqmVisitableNode
-
appendHqlString
- Specified by:
appendHqlStringin interfaceSqmVisitableNode
-
resolvePathPart
public SemanticPathPart resolvePathPart(String name, boolean isTerminal, SqmCreationState creationState) - Specified by:
resolvePathPartin interfaceSemanticPathPart
-
resolveIndexedAccess
public SqmPath<?> resolveIndexedAccess(SqmExpression<?> selector, boolean isTerminal, SqmCreationState creationState) - Specified by:
resolveIndexedAccessin interfaceSemanticPathPart
-
equals
-
hashCode
-
isCompatible
- Specified by:
isCompatiblein interfaceSqmCacheable
-
cacheHashCode
public int cacheHashCode()- Specified by:
cacheHashCodein interfaceSqmCacheable
-