KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > xquark > mediator > plan > MultResultSet


1 /*
2  * This file belongs to the XQuark distribution.
3  * Copyright (C) 2003 Universite de Versailles Saint-Quentin.
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307.
18  * You can also get it at http://www.gnu.org/licenses/lgpl.html
19  *
20  * For more information on this software, see http://www.xquark.org.
21  */

22
23 package org.xquark.mediator.plan ;
24
25 import org.xquark.mediator.runtime.MediatorException;
26
27 public abstract class MultResultSet extends ResultSet {
28     // **********************************************************************
29
// * VERSIONING
30
// **********************************************************************
31
private static final String JavaDoc RCSRevision = "$Revision: 1.6 $";
32     private static final String JavaDoc RCSName = "$Name: $";
33     // *********************************************************************
34
// * CLASS VARIABLES
35
// **********************************************************************
36
protected OperatorRunnable[] children = null ;
37     
38     // ***********************************************************************
39
// * INITIALIZATION
40
// ***********************************************************************
41
public MultResultSet(OpMult operator, DynamicContext context) {
42         super(operator, context) ;
43     }
44     public MultResultSet(OpMult operator, DynamicContext context, OperatorRunnable[] runnables) {
45         super(operator, context) ;
46         this.children = runnables;
47     }
48     
49     // ***********************************************************************
50
// * METHODS
51
// ***********************************************************************
52

53 // public OperatorRunnable getSubElement(int pos) { return children[pos]; }
54
// public int getSubElementsSize() { return children.length; }
55
/**
56      *
57      */

58     protected void setFinishedWhenEmpty() throws MediatorException {
59         super.setFinishedWhenEmpty() ;
60         for (int i=0;i<children.length;i++) {
61             ResultSet resulti = children[i].getResultSet();
62             if (resulti != null) {
63                 resulti.getOperator().terminate();
64                 resulti.close();
65             }
66         }
67    }
68     
69     /**
70      *
71      */

72     public void close() throws MediatorException {
73         super.close() ;
74         for (int i=0;i<children.length;i++) {
75             ResultSet resulti = children[i].getResultSet();
76             if (resulti != null) {
77                 resulti.getOperator().terminate();
78                 resulti.close();
79             }
80         }
81     }
82     
83     /** Fill the buffer buftuples with tuple.
84      *
85      * @param non_blocking if the evaluation is blocking, we must
86      * generate all the results before passing.
87      */

88 // protected void evaluate(boolean non_blocking) throws MediatorException {
89
// }
90

91 }
92
Popular Tags