Class ArgumentListFunctionExpression

  • All Implemented Interfaces:
    Serializable, Cloneable

    public class ArgumentListFunctionExpression
    extends FunctionExpression
    INTERNAL: This an extended FunctionExpression that allows the argument list to grow after it is created. New expressions may be added to the list and the printing of the database string is handled automatically This expression's addChild() method is used to construct the list. Note: This expression is designed to handle addition of children up until the first normalization (execution) of a query involving this expression. After normalization, the behavior is undefined.
    Author:
    tware
    See Also:
    ListExpressionOperator, Expression.coalesce(), Expression.caseStatement(), Serialized Form
    • Field Detail

      • hasLastChild

        protected Boolean hasLastChild
    • Constructor Detail

      • ArgumentListFunctionExpression

        public ArgumentListFunctionExpression()
    • Method Detail

      • addChild

        public void addChild​(Expression argument)
        INTERNAL: Add a new Expression to the list of arguments. This method will update the list of arguments and any constant strings that are required to be printed with the arguments
        Overrides:
        addChild in class FunctionExpression
        Parameters:
        argument -
      • addRightMostChild

        public void addRightMostChild​(Expression argument)
        INTERNAL: Add a child and ensure it is the rightmost in the tree as long as it is in the tree If there is already a node that is set as therightmost node, replace it
        Parameters:
        argument -
      • setOperator

        public void setOperator​(ExpressionOperator theOperator)
        INTERNAL: Set the operator for this expression. The operator must be a ListExpressionOperator This method asserts that the passed argument is a ListExpressionOperator rather than throwing an exception since this method is entirely internal and the user should never get this behavior
        Overrides:
        setOperator in class FunctionExpression