KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > medor > datasource > api > Wrapper


1 /**
2  * MEDOR: Middleware Enabling Distributed Object Requests
3  *
4  * Copyright (C) 2001-2003 France Telecom R&D
5  * Contact: alexandre.lefebvre@rd.francetelecom.com
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20  *
21  * Initial developers: M. Alia, A. Lefebvre, S. Chassande-Barrioz
22  */

23
24 package org.objectweb.medor.datasource.api;
25
26 import org.objectweb.medor.api.EvaluationException;
27 import org.objectweb.medor.expression.api.ParameterOperand;
28 import org.objectweb.medor.query.api.QueryLeaf;
29 import org.objectweb.medor.tuple.api.TupleCollection;
30 import org.objectweb.medor.eval.api.EvaluationMetaData;
31
32 /**
33  * Represents a wrapper to access data from a QueryLeaf at query evaluation
34  * time.
35  * <p>A Wrapper is associated to a QueryLeaf at a given point of time.
36  * There can be several Wrappers of the same type.
37  * One Wrapper can be associated sequentially to several QueryLeaves.
38  *
39  * @author Sebastien Chassande-Barrioz
40  */

41 public interface Wrapper {
42     /**
43      * This method links the wrapper to a particular QueryLeaf, and executes
44      * the query on the underlying data store.
45      * @param ql the QueryLeaf
46      * @param parameters the parameters necessary for obtaining data from the
47      * QueryLeaf (in the case the QueryLeaf contains an expression)
48      * @param connection an Object which contains information for connecting
49      * to the DataStore behind the QueryLeaf (could be a JDBC connection, ...)s
50      * @return the TupleCollection containing the result of the execution.
51      * @throws EvaluationException in case of problems during the evaluation.
52      *
53      */

54     TupleCollection fetchData(QueryLeaf ql,
55                               ParameterOperand[] parameters,
56                               Object JavaDoc connection,
57                               EvaluationMetaData evalmd)
58         throws EvaluationException;
59 }
60
Popular Tags