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.
See Also:
  • Field Details

    • hasLastChild

      protected Boolean hasLastChild
  • Constructor Details

    • ArgumentListFunctionExpression

      public ArgumentListFunctionExpression()
  • Method Details

    • 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
    • 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
    • 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
    • printSQL

      public void printSQL(ExpressionSQLPrinter printer)
      INTERNAL: Print SQL
      Overrides:
      printSQL in class FunctionExpression
    • postCopyIn

      protected void postCopyIn(Map alreadyDone)
      Description copied from class: FunctionExpression
      INTERNAL: Used for cloning.
      Overrides:
      postCopyIn in class FunctionExpression
    • initializePlatformOperator

      public void initializePlatformOperator(DatabasePlatform platform)
      INTERNAL:
      Overrides:
      initializePlatformOperator in class FunctionExpression