Package org.hibernate.query.sqm.function
Class NamedSqmFunctionDescriptor
java.lang.Object
org.hibernate.query.sqm.function.AbstractSqmFunctionDescriptor
org.hibernate.query.sqm.function.AbstractSqmSelfRenderingFunctionDescriptor
org.hibernate.query.sqm.function.NamedSqmFunctionDescriptor
- All Implemented Interfaces:
FunctionRenderer,SqmFunctionDescriptor
- Direct Known Subclasses:
OracleSpatialFunction,StandardSQLFunction
Provides a standard implementation that supports the majority of the HQL
functions that are translated to SQL. The Dialect and its sub-classes use
this class to provide details required for processing of the associated
function.
-
Constructor Summary
ConstructorsConstructorDescriptionNamedSqmFunctionDescriptor(String functionName, boolean useParenthesesWhenNoArgs, @Nullable ArgumentsValidator argumentsValidator, @Nullable FunctionReturnTypeResolver returnTypeResolver) NamedSqmFunctionDescriptor(String functionName, boolean useParenthesesWhenNoArgs, @Nullable ArgumentsValidator argumentsValidator, @Nullable FunctionReturnTypeResolver returnTypeResolver, @Nullable FunctionArgumentTypeResolver argumentTypeResolver) NamedSqmFunctionDescriptor(String functionName, boolean useParenthesesWhenNoArgs, @Nullable ArgumentsValidator argumentsValidator, @Nullable FunctionReturnTypeResolver returnTypeResolver, @Nullable FunctionArgumentTypeResolver argumentTypeResolver, String name, FunctionKind functionKind, String argumentListSignature, SqlAstNodeRenderingMode argumentRenderingMode) -
Method Summary
Modifier and TypeMethodDescriptionbooleanWill a call to the described function always include parentheses?getName()Function name accessorvoidrender(SqlAppender sqlAppender, List<? extends SqlAstNode> sqlAstArguments, ReturnableType<?> returnType, SqlAstTranslator<?> translator) voidrender(SqlAppender sqlAppender, List<? extends SqlAstNode> sqlAstArguments, Predicate filter, Boolean respectNulls, Boolean fromFirst, ReturnableType<?> returnType, SqlAstTranslator<?> walker) voidrender(SqlAppender sqlAppender, List<? extends SqlAstNode> sqlAstArguments, Predicate filter, List<SortSpecification> withinGroup, ReturnableType<?> returnType, SqlAstTranslator<?> translator) voidrender(SqlAppender sqlAppender, List<? extends SqlAstNode> sqlAstArguments, Predicate filter, ReturnableType<?> returnType, SqlAstTranslator<?> translator) toString()Methods inherited from class org.hibernate.query.sqm.function.AbstractSqmSelfRenderingFunctionDescriptor
filterClauseSupported, generateSqmAggregateFunctionExpression, generateSqmFunctionExpression, generateSqmOrderedSetAggregateFunctionExpression, generateSqmWindowFunctionExpression, getFunctionKindMethods inherited from class org.hibernate.query.sqm.function.AbstractSqmFunctionDescriptor
generateAggregateSqmExpression, generateOrderedSetAggregateSqmExpression, generateSqmExpression, generateWindowSqmExpression, getArgumentsValidator, getArgumentTypeResolver, getReturnSignature, getReturnTypeResolver, getSignatureMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.hibernate.query.sqm.function.FunctionRenderer
renderMethods inherited from interface org.hibernate.query.sqm.function.SqmFunctionDescriptor
generateSqmExpression, generateSqmExpression, isPredicate
-
Constructor Details
-
NamedSqmFunctionDescriptor
public NamedSqmFunctionDescriptor(String functionName, boolean useParenthesesWhenNoArgs, @Nullable ArgumentsValidator argumentsValidator, @Nullable FunctionReturnTypeResolver returnTypeResolver) -
NamedSqmFunctionDescriptor
public NamedSqmFunctionDescriptor(String functionName, boolean useParenthesesWhenNoArgs, @Nullable ArgumentsValidator argumentsValidator, @Nullable FunctionReturnTypeResolver returnTypeResolver, @Nullable FunctionArgumentTypeResolver argumentTypeResolver) -
NamedSqmFunctionDescriptor
public NamedSqmFunctionDescriptor(String functionName, boolean useParenthesesWhenNoArgs, @Nullable ArgumentsValidator argumentsValidator, @Nullable FunctionReturnTypeResolver returnTypeResolver, @Nullable FunctionArgumentTypeResolver argumentTypeResolver, String name, FunctionKind functionKind, String argumentListSignature, SqlAstNodeRenderingMode argumentRenderingMode)
-
-
Method Details
-
getName
Function name accessor- Overrides:
getNamein classAbstractSqmFunctionDescriptor- Returns:
- The function name.
-
getArgumentListSignature
- Overrides:
getArgumentListSignaturein classAbstractSqmFunctionDescriptor
-
alwaysIncludesParentheses
public boolean alwaysIncludesParentheses()Description copied from interface:SqmFunctionDescriptorWill a call to the described function always include parentheses?Instances of this interface are usually used for rendering of functions. However, there are cases where Hibernate needs to consume a fragment and decide if a token represents a function name. In cases where the token is followed by an opening parenthesis, we can safely assume the token is a function name. Bur if the next token is not an opening parenthesis, the token might still represent a function if the function has a "no paren" form in the case of no arguments.
For example, many databases do not require parentheses for functions like
current_timestampand friends. This method helps account for those cases.- Returns:
trueby default
-
render
public void render(SqlAppender sqlAppender, List<? extends SqlAstNode> sqlAstArguments, ReturnableType<?> returnType, SqlAstTranslator<?> translator) - Specified by:
renderin interfaceFunctionRenderer- Overrides:
renderin classAbstractSqmSelfRenderingFunctionDescriptor
-
render
public void render(SqlAppender sqlAppender, List<? extends SqlAstNode> sqlAstArguments, Predicate filter, ReturnableType<?> returnType, SqlAstTranslator<?> translator) -
render
public void render(SqlAppender sqlAppender, List<? extends SqlAstNode> sqlAstArguments, Predicate filter, List<SortSpecification> withinGroup, ReturnableType<?> returnType, SqlAstTranslator<?> translator) -
render
public void render(SqlAppender sqlAppender, List<? extends SqlAstNode> sqlAstArguments, Predicate filter, Boolean respectNulls, Boolean fromFirst, ReturnableType<?> returnType, SqlAstTranslator<?> walker) -
toString
-