Top Fields Constructors Methods
org.hibernate.query.sqm.function

public abstract Class AbstractSqmSelfRenderingFunctionDescriptor

extends AbstractSqmFunctionDescriptor
implements FunctionRenderer
Class Inheritance
All Implemented Interfaces
org.hibernate.query.sqm.function.FunctionRenderer, org.hibernate.query.sqm.function.FunctionRenderingSupport
Known Direct Subclasses
org.hibernate.query.sqm.function.NamedSqmFunctionDescriptor, org.hibernate.query.sqm.function.PatternBasedSqmFunctionDescriptor, org.hibernate.dialect.function.DB2PositionFunction, org.hibernate.dialect.function.ListaggGroupConcatEmulation, org.hibernate.dialect.function.AvgFunction, org.hibernate.dialect.function.CaseLeastGreatestEmulation, org.hibernate.dialect.function.CastFunction, org.hibernate.dialect.function.CastingConcatFunction, org.hibernate.dialect.function.ChrLiteralEmulation, org.hibernate.dialect.function.ConcatPipeFunction, org.hibernate.dialect.function.CountFunction, org.hibernate.dialect.function.CurrentFunction, org.hibernate.dialect.function.DB2SubstringFunction, org.hibernate.dialect.function.DerbyLpadEmulation, org.hibernate.dialect.function.DerbyRpadEmulation, org.hibernate.dialect.function.EveryAnyEmulation, org.hibernate.dialect.function.HypotheticalSetFunction, org.hibernate.dialect.function.InverseDistributionFunction, org.hibernate.dialect.function.LengthFunction, org.hibernate.dialect.function.ListaggFunction, org.hibernate.dialect.function.ListaggStringAggEmulation, org.hibernate.dialect.function.MinMaxCaseEveryAnyEmulation, org.hibernate.dialect.function.PostgreSQLMinMaxFunction, org.hibernate.dialect.function.QuantifiedLeastGreatestEmulation, org.hibernate.dialect.function.SqlFunction, org.hibernate.dialect.function.SQLServerEveryAnyEmulation, org.hibernate.dialect.function.TimestampaddFunction, org.hibernate.dialect.function.TimestampdiffFunction, org.hibernate.dialect.function.TrimFunction, org.hibernate.dialect.function.array.AbstractArrayContainsFunction, org.hibernate.dialect.function.array.AbstractArrayFillFunction, org.hibernate.dialect.function.array.AbstractArrayOverlapsFunction, org.hibernate.dialect.function.array.AbstractArrayPositionFunction, org.hibernate.dialect.function.array.AbstractArrayPositionsFunction, org.hibernate.dialect.function.array.AbstractArrayRemoveFunction, org.hibernate.dialect.function.array.AbstractArrayTrimFunction, org.hibernate.dialect.function.array.ArrayAggFunction, org.hibernate.dialect.function.array.ArrayConcatElementFunction, org.hibernate.dialect.function.array.ArrayConcatFunction, org.hibernate.dialect.function.array.ArrayGetUnnestFunction, org.hibernate.dialect.function.array.ArrayRemoveIndexUnnestFunction, org.hibernate.dialect.function.array.ArrayReplaceUnnestFunction, org.hibernate.dialect.function.array.ArraySetUnnestFunction, org.hibernate.dialect.function.array.ArraySliceUnnestFunction, org.hibernate.dialect.function.array.OracleArrayAggEmulation, org.hibernate.dialect.function.array.ArrayConstructorFunction, org.hibernate.dialect.function.array.ArrayToStringFunction, org.hibernate.dialect.function.array.OracleArrayLengthFunction
Imports
org.hibernate.query.ReturnableType, org.hibernate.query.spi.QueryEngine, org.hibernate.query.sqm.produce.function.ArgumentsValidator, .FunctionArgumentTypeResolver, .FunctionReturnTypeResolver, org.hibernate.query.sqm.tree.SqmTypedNode, org.hibernate.query.sqm.tree.predicate.SqmPredicate, org.hibernate.query.sqm.tree.select.SqmOrderByClause, org.hibernate.sql.ast.SqlAstTranslator, org.hibernate.sql.ast.spi.SqlAppender, org.hibernate.sql.ast.tree.SqlAstNode, java.util.List

Deprecated

as a consequence of FunctionRenderer being deprecated. See corresponding docs for further information.

Author
Gavin King

Field Summary

Modifier and TypeField and Description
private final FunctionKind

Constructor Summary

AccessConstructor and Description
public
public
AbstractSqmSelfRenderingFunctionDescriptor(String name, FunctionKind functionKind, ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, FunctionArgumentTypeResolver argumentTypeResolver)

Method Summary

Modifier and TypeMethod and Description
public <T> SelfRenderingSqmAggregateFunction<T>
generateSqmAggregateFunctionExpression(List<? extends SqmTypedNode<?>>
the arguments of the function invocation
arguments
,
SqmPredicate filter, ReturnableType<T>
the function return type as inferred from its usage
impliedResultType
,
QueryEngine queryEngine)

Overrides org.hibernate.query.sqm.function.AbstractSqmFunctionDescriptor.generateSqmAggregateFunctionExpression.

Return an SQM node or subtree representing an invocation of this aggregate function with the given arguments.
protected <T> SelfRenderingSqmFunction<T>
generateSqmFunctionExpression(List<? extends SqmTypedNode<?>>
the arguments of the function invocation
arguments
,
ReturnableType<T>
the function return type as inferred from its usage
impliedResultType
,
QueryEngine queryEngine)

Implements abstract org.hibernate.query.sqm.function.AbstractSqmFunctionDescriptor.generateSqmFunctionExpression.

Return an SQM node or subtree representing an invocation of this function with the given arguments.
public <T> SelfRenderingSqmOrderedSetAggregateFunction<T>
generateSqmOrderedSetAggregateFunctionExpression(List<? extends SqmTypedNode<?>>
the arguments of the function invocation
arguments
,
SqmPredicate filter, SqmOrderByClause withinGroupClause, ReturnableType<T>
the function return type as inferred from its usage
impliedResultType
,
QueryEngine queryEngine)

Overrides org.hibernate.query.sqm.function.AbstractSqmFunctionDescriptor.generateSqmOrderedSetAggregateFunctionExpression.

Return an SQM node or subtree representing an invocation of this ordered set-aggregate function with the given arguments.
protected <T> SelfRenderingSqmWindowFunction<T>
generateSqmWindowFunctionExpression(List<? extends SqmTypedNode<?>>
the arguments of the function invocation
arguments
,
SqmPredicate filter, Boolean respectNulls, Boolean fromFirst, ReturnableType<T>
the function return type as inferred from its usage
impliedResultType
,
QueryEngine queryEngine)

Overrides org.hibernate.query.sqm.function.AbstractSqmFunctionDescriptor.generateSqmWindowFunctionExpression.

Return an SQM node or subtree representing an invocation of this window function with the given arguments.
public FunctionKind
public void
render(SqlAppender sqlAppender, List<? extends SqlAstNode> sqlAstArguments, ReturnableType<?> returnType, SqlAstTranslator<?> walker)

Implements org.hibernate.query.sqm.function.FunctionRenderer.render.

Inherited from org.hibernate.query.sqm.function.AbstractSqmFunctionDescriptor:
generateAggregateSqmExpressiongenerateOrderedSetAggregateSqmExpressiongenerateSqmExpressiongenerateWindowSqmExpressiongetArgumentListSignaturegetArgumentsValidatorgetArgumentTypeResolvergetNamegetReturnSignaturegetReturnTypeResolvergetSignature

Field Detail

functionKindback to summary
private final FunctionKind functionKind

Constructor Detail

AbstractSqmSelfRenderingFunctionDescriptorback to summary
public AbstractSqmSelfRenderingFunctionDescriptor(String name, ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, FunctionArgumentTypeResolver argumentTypeResolver)
AbstractSqmSelfRenderingFunctionDescriptorback to summary
public AbstractSqmSelfRenderingFunctionDescriptor(String name, FunctionKind functionKind, ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, FunctionArgumentTypeResolver argumentTypeResolver)

Method Detail

generateSqmAggregateFunctionExpressionback to summary
public <T> SelfRenderingSqmAggregateFunction<T> generateSqmAggregateFunctionExpression(List<? extends SqmTypedNode<?>> arguments, SqmPredicate filter, ReturnableType<T> impliedResultType, QueryEngine queryEngine)

Overrides org.hibernate.query.sqm.function.AbstractSqmFunctionDescriptor.generateSqmAggregateFunctionExpression.

Doc from org.hibernate.query.sqm.function.AbstractSqmFunctionDescriptor.generateSqmAggregateFunctionExpression.

Return an SQM node or subtree representing an invocation of this aggregate function with the given arguments. This method may be overridden in the case of function descriptors that wish to customize creation of the node.

Parameters
arguments:List<? extends SqmTypedNode<?>>

the arguments of the function invocation

impliedResultType:ReturnableType<T>

the function return type as inferred from its usage

Annotations
@Override
generateSqmFunctionExpressionback to summary
protected <T> SelfRenderingSqmFunction<T> generateSqmFunctionExpression(List<? extends SqmTypedNode<?>> arguments, ReturnableType<T> impliedResultType, QueryEngine queryEngine)

Implements abstract org.hibernate.query.sqm.function.AbstractSqmFunctionDescriptor.generateSqmFunctionExpression.

Doc from org.hibernate.query.sqm.function.AbstractSqmFunctionDescriptor.generateSqmFunctionExpression.

Return an SQM node or subtree representing an invocation of this function with the given arguments. This method may be overridden in the case of function descriptors that wish to customize creation of the node.

Parameters
arguments:List<? extends SqmTypedNode<?>>

the arguments of the function invocation

impliedResultType:ReturnableType<T>

the function return type as inferred from its usage

Annotations
@Override
generateSqmOrderedSetAggregateFunctionExpressionback to summary
public <T> SelfRenderingSqmOrderedSetAggregateFunction<T> generateSqmOrderedSetAggregateFunctionExpression(List<? extends SqmTypedNode<?>> arguments, SqmPredicate filter, SqmOrderByClause withinGroupClause, ReturnableType<T> impliedResultType, QueryEngine queryEngine)

Overrides org.hibernate.query.sqm.function.AbstractSqmFunctionDescriptor.generateSqmOrderedSetAggregateFunctionExpression.

Doc from org.hibernate.query.sqm.function.AbstractSqmFunctionDescriptor.generateSqmOrderedSetAggregateFunctionExpression.

Return an SQM node or subtree representing an invocation of this ordered set-aggregate function with the given arguments. This method may be overridden in the case of function descriptors that wish to customize creation of the node.

Parameters
arguments:List<? extends SqmTypedNode<?>>

the arguments of the function invocation

impliedResultType:ReturnableType<T>

the function return type as inferred from its usage

Annotations
@Override
generateSqmWindowFunctionExpressionback to summary
protected <T> SelfRenderingSqmWindowFunction<T> generateSqmWindowFunctionExpression(List<? extends SqmTypedNode<?>> arguments, SqmPredicate filter, Boolean respectNulls, Boolean fromFirst, ReturnableType<T> impliedResultType, QueryEngine queryEngine)

Overrides org.hibernate.query.sqm.function.AbstractSqmFunctionDescriptor.generateSqmWindowFunctionExpression.

Doc from org.hibernate.query.sqm.function.AbstractSqmFunctionDescriptor.generateSqmWindowFunctionExpression.

Return an SQM node or subtree representing an invocation of this window function with the given arguments. This method may be overridden in the case of function descriptors that wish to customize creation of the node.

Parameters
arguments:List<? extends SqmTypedNode<?>>

the arguments of the function invocation

impliedResultType:ReturnableType<T>

the function return type as inferred from its usage

Annotations
@Override
getFunctionKindback to summary
public FunctionKind getFunctionKind()

Overrides default org.hibernate.query.sqm.function.SqmFunctionDescriptor.getFunctionKind.

Doc from org.hibernate.query.sqm.function.SqmFunctionDescriptor.getFunctionKind.

What sort of function is this?

Returns:FunctionKind

FunctionKind#NORMAL by default

Annotations
@Override
renderback to summary
public void render(SqlAppender sqlAppender, List<? extends SqlAstNode> sqlAstArguments, ReturnableType<?> returnType, SqlAstTranslator<?> walker)

Implements org.hibernate.query.sqm.function.FunctionRenderer.render.

Annotations
@Override