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 AlgSequence extends Algebra { 36 private static final String RCSRevision = "$Revision: 1.7 $"; 40 private static final String RCSName = "$Name: $"; 41 45 55 public AlgSequence(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 103 operator.isLet(islet); 104 return operator; 105 } 106 107 public Object clone() throws CloneNotSupportedException { 108 AlgSequence newobj = (AlgSequence) super.clone(); 109 return newobj; 110 } 111 112 public void execute(ExecutionPlan plan) throws MediatorException {} 113 114 } 118 | Popular Tags |