Class ASTFunctionCall

All Implemented Interfaces:
Serializable, Node, XMLSerializable
Direct Known Subclasses:
ASTAbs, ASTAggregateFunctionCall, ASTConcat, ASTCurrentDate, ASTCurrentTime, ASTCurrentTimestamp, ASTExtract, ASTLength, ASTLocate, ASTLower, ASTMod, ASTSqrt, ASTSubstring, ASTTrim, ASTUpper

public abstract class ASTFunctionCall
extends EvaluatedNode
Since:
4.0
See Also:
Serialized Form
  • Constructor Details

    • ASTFunctionCall

      public ASTFunctionCall​(int id, String functionName, Object... nodes)
  • Method Details

    • getType

      public int getType()
      Description copied from class: Expression
      Returns a type of expression. Most common types are defined as public static fields of this interface.
      Overrides:
      getType in class Expression
    • needParenthesis

      public boolean needParenthesis()
    • getFunctionName

      public String getFunctionName()
    • getExpressionOperator

      protected String getExpressionOperator​(int index)
      Specified by:
      getExpressionOperator in class SimpleNode
    • equals

      public boolean equals​(Object o)
      Overrides:
      equals in class Expression
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Expression
    • appendFunctionNameAsString

      protected void appendFunctionNameAsString​(Appendable out) throws IOException
      Throws:
      IOException
    • appendAsString

      public void appendAsString​(Appendable out) throws IOException
      Description copied from class: Expression
      Appends own content as a String to the provided Appendable.
      Overrides:
      appendAsString in class SimpleNode
      Throws:
      IOException
    • appendAsEJBQL

      public void appendAsEJBQL​(List<Object> parameterAccumulator, Appendable out, String rootId) throws IOException
      Description copied from class: Expression
      Stores a String representation of Expression as EJBQL using a provided PrintWriter. DB path expressions produce non-standard EJBQL path expressions. If the parameterAccumulator is supplied then as the EJBQL is output, it may load parameters into this list. In this case, the EJBQL output will contain reference to positional parameters. If no parameterAccumulator is supplied and a scalar type is encountered for which there is no EJBQL literal representation (such as dates) then this method will throw a runtime exception to indicate that it was not possible to generate a string-only representation of the Expression in EJBQL.
      Overrides:
      appendAsEJBQL in class SimpleNode
      Throws:
      IOException
    • nameToCamelCase

      protected static String nameToCamelCase​(String functionName)
      Parameters:
      functionName - in UPPER_UNDERSCORE convention
      Returns:
      functionName in camelCase convention