Package org.apache.cayenne.exp.parser
Class ASTFunctionCall
java.lang.Object
org.apache.cayenne.exp.Expression
org.apache.cayenne.exp.parser.SimpleNode
org.apache.cayenne.exp.parser.EvaluatedNode
org.apache.cayenne.exp.parser.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
- 
Field SummaryFields inherited from class org.apache.cayenne.exp.parser.SimpleNodechildren, id, parentFields inherited from class org.apache.cayenne.exp.ExpressionADD, AND, ASTERISK, BETWEEN, BITWISE_AND, BITWISE_LEFT_SHIFT, BITWISE_NOT, BITWISE_OR, BITWISE_RIGHT_SHIFT, BITWISE_XOR, DB_PATH, DIVIDE, EQUAL_TO, FALSE, FULL_OBJECT, FUNCTION_CALL, GREATER_THAN, GREATER_THAN_EQUAL_TO, IN, LESS_THAN, LESS_THAN_EQUAL_TO, LIKE, LIKE_IGNORE_CASE, LIST, MULTIPLY, NEGATIVE, NOT, NOT_BETWEEN, NOT_EQUAL_TO, NOT_IN, NOT_LIKE, NOT_LIKE_IGNORE_CASE, OBJ_PATH, OR, PRUNED_NODE, SUBTRACT, TRUE, type
- 
Constructor SummaryConstructors Constructor Description ASTFunctionCall(int id, String functionName, Object... nodes)
- 
Method SummaryModifier and Type Method Description voidappendAsEJBQL(List<Object> parameterAccumulator, Appendable out, String rootId)Stores a String representation of Expression as EJBQL using a provided PrintWriter.voidappendAsString(Appendable out)Appends own content as a String to the provided Appendable.protected voidappendFunctionNameAsString(Appendable out)booleanequals(Object o)protected StringgetExpressionOperator(int index)StringgetFunctionName()intgetType()Returns a type of expression.inthashCode()protected static StringnameToCamelCase(String functionName)booleanneedParenthesis()Methods inherited from class org.apache.cayenne.exp.parser.EvaluatedNodeevaluateNode, evaluateSubNode, getRequiredChildrenCountMethods inherited from class org.apache.cayenne.exp.parser.SimpleNodeappendAsEJBQL, appendAsEscapedString, appendChildrenAsEJBQL, appendScalarAsString, connectChildren, encodeScalarAsEJBQL, evaluate, evaluateChild, expName, flattenTree, getEJBQLExpressionOperator, getOperand, getOperandCount, getPathAliases, jjtAddChild, jjtClose, jjtGetChild, jjtGetNumChildren, jjtGetParent, jjtOpen, jjtSetParent, notExp, pruneNodeForPrunedChild, setOperand, unwrapChild, wrapChildMethods inherited from class org.apache.cayenne.exp.ExpressionandExp, andExp, deepCopy, encodeAsXML, filter, filterObjects, first, joinExp, joinExp, match, orExp, orExp, params, params, paramsArray, setType, shallowCopy, toEJBQL, toEJBQL, toString, transform, transformExpression, traverse, traverse
- 
Constructor Details- 
ASTFunctionCall
 
- 
- 
Method Details- 
getTypepublic int getType()Description copied from class:ExpressionReturns a type of expression. Most common types are defined as public static fields of this interface.- Overrides:
- getTypein class- Expression
 
- 
needParenthesispublic boolean needParenthesis()
- 
getFunctionName
- 
getExpressionOperator- Specified by:
- getExpressionOperatorin class- SimpleNode
 
- 
equals- Overrides:
- equalsin class- Expression
 
- 
hashCodepublic int hashCode()- Overrides:
- hashCodein class- Expression
 
- 
appendFunctionNameAsString- Throws:
- IOException
 
- 
appendAsStringDescription copied from class:ExpressionAppends own content as a String to the provided Appendable.- Overrides:
- appendAsStringin class- SimpleNode
- Throws:
- IOException
 
- 
appendAsEJBQLpublic void appendAsEJBQL(List<Object> parameterAccumulator, Appendable out, String rootId) throws IOExceptionDescription copied from class:ExpressionStores 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:
- appendAsEJBQLin class- SimpleNode
- Throws:
- IOException
 
- 
nameToCamelCase- Parameters:
- functionName- in UPPER_UNDERSCORE convention
- Returns:
- functionName in camelCase convention
 
 
-