1 22 23 package org.xquark.extractor.algebra; 24 25 import java.util.List ; 26 import java.util.Map ; 27 28 import org.xquark.extractor.common.SqlWrapperException; 29 import org.xquark.extractor.sql.SqlExpression; 30 31 public final class LitList extends Expression 32 { 33 private static final String RCSRevision = "$Revision: 1.4 $"; 34 private static final String RCSName = "$Name: $"; 35 36 private List _litList = null; 37 38 39 public LitList(List litList) { 40 setLitList(litList); 41 } 42 43 synchronized Object clone(Map clonedExprs) throws CloneNotSupportedException 44 { 45 47 LitList retVal = (LitList)super.clone(clonedExprs); 48 49 retVal.setLitList( AlgebraTools.clone(getLitList(),clonedExprs) ); 50 51 clonedExprs.put(this, retVal); 52 return retVal; 54 } 55 56 57 public List getLitList() { 58 return _litList; 59 } 60 61 public void setLitList(List litList) { 62 _litList = litList; 63 } 64 65 public String pprint() { 66 StringBuffer retVal = new StringBuffer (); 67 retVal.append('('); 68 69 if (null != _litList && !_litList.isEmpty()){ 70 for (int i = 0; i < _litList.size()-1; i++) { 71 retVal.append(((Expression)_litList.get(i)).pprint()); 72 retVal.append(", "); 73 } 74 retVal.append(((Expression)_litList.get( _litList.size()-1)).pprint()); 75 } 76 retVal.append(')'); 77 return retVal.toString(); 78 } 79 80 public List getOperands() { 81 return null ; 82 } 83 84 public SqlExpression accept (GenSqlVisitor visitor) throws SqlWrapperException 85 { 86 return visitor.visit(this); 87 } 88 89 public void accept (AlgebraVisitor visitor) throws SqlWrapperException 90 { 91 visitor.visit(this); 92 } 93 94 97 public boolean deepEquals(Object o) 98 { 99 if (o instanceof LitList) 100 return AlgebraTools.areExprListEquivalent(_litList, ((LitList)o).getLitList()); 101 return false; 102 } 103 } 104 | Popular Tags |