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:
jakarta.persistence.criteria.Expression<T>
,jakarta.persistence.criteria.Selection<T>
,jakarta.persistence.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:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description SqmFunction(String functionName, SqmFunctionDescriptor functionDescriptor, SqmExpressible<T> type, List<? extends SqmTypedNode<?>> arguments, NodeBuilder criteriaBuilder)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description <X> X
accept(SemanticQueryWalker<X> walker)
Accept the walker per visitationvoid
appendHqlString(StringBuilder sb)
abstract Expression
convertToSqlAst(SqmToSqlAstConverter walker)
List<? extends SqmTypedNode<?>>
getArguments()
SqmFunctionDescriptor
getFunctionDescriptor()
String
getFunctionName()
Retrieve the name of the function.SqmPath<?>
resolveIndexedAccess(SqmExpression<?> selector, boolean isTerminal, SqmCreationState creationState)
SemanticPathPart
resolvePathPart(String name, boolean isTerminal, SqmCreationState creationState)
-
Methods inherited from class org.hibernate.query.sqm.tree.expression.AbstractSqmExpression
alias, applyInferableType, as, asBigDecimal, asBigInteger, asDouble, asFloat, asInteger, asLong, asString, getJavaTypeDescriptor, in, in, in, in, internalApplyInferableType, isNotNull, isNull, nodeBuilder
-
Methods inherited from class org.hibernate.query.sqm.tree.jpa.AbstractJpaSelection
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
-
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.SqmTypedNode
getExpressible, getNodeJavaType
-
Methods inherited from interface org.hibernate.query.sqm.tree.SqmVisitableNode
toHqlString
-
-
-
-
Constructor Detail
-
SqmFunction
public SqmFunction(String functionName, SqmFunctionDescriptor functionDescriptor, SqmExpressible<T> type, List<? extends SqmTypedNode<?>> arguments, NodeBuilder criteriaBuilder)
-
-
Method Detail
-
getFunctionDescriptor
public SqmFunctionDescriptor getFunctionDescriptor()
-
getFunctionName
public String getFunctionName()
Description copied from interface:JpaFunction
Retrieve the name of the function.- Specified by:
getFunctionName
in interfaceJpaFunction<T>
- Returns:
- The function name.
-
getArguments
public List<? extends SqmTypedNode<?>> getArguments()
-
convertToSqlAst
public abstract Expression convertToSqlAst(SqmToSqlAstConverter walker)
-
accept
public <X> X accept(SemanticQueryWalker<X> walker)
Description copied from interface:SqmVisitableNode
Accept the walker per visitation- Specified by:
accept
in interfaceSqmVisitableNode
-
appendHqlString
public void appendHqlString(StringBuilder sb)
- 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
-
-