1 22 23 package org.xquark.extractor.algebra; 24 25 import java.util.Collections ; 26 import java.util.List ; 27 import java.util.Set ; 28 29 public abstract class BinaryAlgebra extends BinaryOperator implements Relation 30 { 31 private static final String RCSRevision = "$Revision: 1.5 $"; 32 private static final String RCSName = "$Name: $"; 33 34 List _keys; 35 Set _providedTableInstance = Collections.singleton(this); 36 37 public BinaryAlgebra(Expression leftOperand, Expression rightOperand) 38 { 39 super (leftOperand,rightOperand); 40 } 41 42 public Set providedTableInstances() { 43 return _providedTableInstance; 44 }; 45 46 public AttributeExpression findNonNullAttribute() { 47 AttributeExpression ret = ((Relation)_leftOperand).findNonNullAttribute(); 48 if (ret == null) 49 ret = ((Relation)_rightOperand).findNonNullAttribute(); return ret; 51 } 52 53 public List getItems() { return null;} 54 55 public List getKeys() 56 { 57 return _keys; 58 } 59 60 public List nameTest(String name) 61 { 62 return ((Relation)getLeftOperand()).nameTest(name); 63 } 64 65 66 public boolean replaceChild(Expression oldChild, Expression newChild) 67 { 68 69 boolean retVal = false; 70 if (getLeftOperand() == oldChild) { 71 setLeftOperand(newChild); 72 retVal = true; 73 } 74 else if (getRightOperand()== oldChild) { 75 setRightOperand(newChild); 76 retVal = true; 77 } 78 79 return retVal; 80 } 81 } 82 | Popular Tags |