/** * This method provides a visiting way in the post order. */ public void accept(ExprVisitor visitor) { if (this instanceof UnaryOperator) { UnaryOperator unary = (UnaryOperator) this; unary.getChild().accept(visitor); } else if (this instanceof BinaryOperator) { BinaryOperator bin = (BinaryOperator) this; bin.getLeft().accept(visitor); bin.getRight().accept(visitor); } visitor.visit(this); }
@Override public Object clone() throws CloneNotSupportedException { ColumnPartition columnPartition = (ColumnPartition) super.clone(); if (columns != null) { columnPartition.columns = new ColumnDefinition[columns.length]; for (int i = 0; i < columns.length; i++) { columnPartition.columns[i] = (ColumnDefinition) columns[i].clone(); } } return columnPartition; } }