public class StandardSQLFunction extends Object implements SQLFunction
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 and Description |
---|
StandardSQLFunction(String name)
Construct a standard SQL function definition with a variable return type;
the actual return type will depend on the types to which the function
is applied.
|
StandardSQLFunction(String name,
Type registeredType)
Construct a standard SQL function definition with a static return type.
|
Modifier and Type | Method and Description |
---|---|
String |
getName()
Function name accessor
|
protected String |
getRenderedName(List arguments) |
Type |
getReturnType(Type firstArgumentType,
Mapping mapping)
The return type of the function.
|
Type |
getType()
Function static return type accessor.
|
boolean |
hasArguments()
Does this function have any arguments?
|
boolean |
hasParenthesesIfNoArguments()
If there are no arguments, are parentheses required?
|
String |
render(Type firstArgumentType,
List arguments,
SessionFactoryImplementor sessionFactory)
Render the function call as SQL fragment.
|
String |
toString() |
public StandardSQLFunction(String name)
Construct a standard SQL function definition with a variable return type; the actual return type will depend on the types to which the function is applied. <p/> Using this form, the return type is considered non-static and assumed to be the type of the first argument.
name
- The name of the function.public String getName()
Function name accessor
public Type getType()
Function static return type accessor.
public boolean hasArguments()
SQLFunction
Does this function have any arguments?
hasArguments
in interface SQLFunction
public boolean hasParenthesesIfNoArguments()
SQLFunction
If there are no arguments, are parentheses required?
hasParenthesesIfNoArguments
in interface SQLFunction
public Type getReturnType(Type firstArgumentType, Mapping mapping)
SQLFunction
The return type of the function. May be either a concrete type which is preset, or variable depending upon
the type of the first function argument.
<p/>
Note, the 'firstArgumentType' parameter should match the one passed into SQLFunction.render(org.hibernate.type.Type, java.util.List, org.hibernate.engine.spi.SessionFactoryImplementor)
getReturnType
in interface SQLFunction
firstArgumentType
- The type of the first argumentmapping
- The mapping source.public String render(Type firstArgumentType, List arguments, SessionFactoryImplementor sessionFactory)
SQLFunction
Render the function call as SQL fragment.
<p/>
Note, the 'firstArgumentType' parameter should match the one passed into SQLFunction.getReturnType(org.hibernate.type.Type, org.hibernate.engine.spi.Mapping)
render
in interface SQLFunction
firstArgumentType
- The type of the first argumentarguments
- The function argumentssessionFactory
- The SessionFactoryCopyright © 2001-2018 Red Hat, Inc. All Rights Reserved.