1 22 23 package org.xquark.extractor.algebra; 24 25 import java.util.List ; 26 27 import org.xquark.extractor.common.SqlWrapperException; 28 import org.xquark.extractor.runtime.IDProvider; 29 import org.xquark.extractor.sql.SqlExpression; 30 31 public final class UnOpAggregate extends UnOpProject 32 { 33 34 private static final String RCSRevision = "$Revision: 1.7 $"; 35 private static final String RCSName = "$Name: $"; 36 37 38 public UnOpAggregate(IDProvider attIdProvider) { 39 super(attIdProvider); 40 } 41 42 public UnOpAggregate(Expression operand, Expression item, IDProvider attIdProvider) { 43 super(operand, item, attIdProvider); 44 } 45 46 public UnOpAggregate(Expression operand, List itemList, boolean distinct, IDProvider attIdProvider) { 47 super(operand, itemList, distinct, attIdProvider); 48 } 49 50 public SqlExpression accept (GenSqlVisitor visitor) throws SqlWrapperException 51 { 52 return visitor.visit(this); 53 } 54 55 public boolean equals(Object obj) { 56 if (null == obj) 57 return false; 58 59 if (obj instanceof UnOpAggregate) 60 return true; 61 else 62 return false; 63 } 64 65 public void accept (AlgebraVisitor visitor) throws SqlWrapperException 66 { 67 visitor.visit(this); 68 } 69 70 void distinctAggregation() { 71 List itemList = getItemList(); 72 Expression item = null; 73 for (int i = 0; i < itemList.size(); i++) { 74 item = (Expression)itemList.get(i); 75 item.accept( new DefaultSimpleVisitor() { 76 public void visit(FunAggregate arg) 77 { arg.setDistinct(true); } 78 } 79 ); 80 } 81 } 82 } 83 | Popular Tags |