1 22 23 package org.xquark.mediator.algebra; 24 25 import org.xquark.mediator.plan.*; 26 import org.xquark.mediator.runtime.MediatorException; 27 import org.xquark.xquery.parser.Variable; 28 import org.xquark.xquery.parser.XQueryExpression; 29 30 35 public class AlgArithFunction extends Algebra { 36 private static final String RCSRevision = "$Revision: 1.7 $"; 40 private static final String RCSName = "$Name: $"; 41 45 55 public AlgArithFunction(XQueryExpression expression, Variable var, AlgebraManager depmanager, boolean islet) throws MediatorException { 56 super(expression, var, depmanager, islet); 57 fillVarLists(); 58 } 59 60 64 72 public Operator createOperator(ExecutionPlan plan) throws MediatorException { 73 74 Operator operator = null; 76 77 if (algChildren != null) { 78 for (int i = 0; i < algChildren.size(); i++) { 79 Algebra depchildi = (Algebra) algChildren.get(i); 81 if (operator == null) 94 operator = (Operator) depchildi.createOperator(plan); 95 else 96 operator = new OpMerge(plan, null, operator, (Operator) depchildi.createOperator(plan)); 97 } 98 operator = new OpNotSource(plan, null, (Variable) variables.get(0), operator, this.islet); 99 } else 100 operator = new OpEval(plan, this, null, hasIdentifier); 101 102 operator.isLet(islet); 103 return operator; 104 } 105 106 public Object clone() throws CloneNotSupportedException { 107 AlgArithFunction newobj = (AlgArithFunction) super.clone(); 108 return newobj; 109 } 110 111 public void execute(ExecutionPlan plan) throws MediatorException {} 112 113 } 117 | Popular Tags |