KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > speedo > query > api > CompiledQuery


1 /**
2  * Speedo: an implementation of JDO compliant personality on top of JORM generic
3  * I/O sub-system.
4  * Copyright (C) 2001-2004 France Telecom R&D
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19  *
20  *
21  *
22  * Contact: speedo@objectweb.org
23  *
24  * Authors: S.Chassande-Barrioz.
25  *
26  */

27
28 package org.objectweb.speedo.query.api;
29
30 import org.objectweb.medor.api.MedorException;
31 import org.objectweb.medor.expression.api.ExpressionException;
32 import org.objectweb.speedo.api.SpeedoException;
33 import org.objectweb.speedo.pm.api.ProxyManager;
34
35 import java.util.Map JavaDoc;
36
37 /**
38  * Represents a compiled JDO query.
39  *
40  * @author S.Chassande-Barrioz
41  */

42 public interface CompiledQuery {
43
44     short UNDEFINED = 0;
45     short DEFINED = 1;
46     short COMPILED = 2;
47
48     /**
49      * @return the query status. The possible values are UNDEFINED, DEFINED
50      * or COMPILED.
51      */

52     short getStatus();
53
54     /**
55      * @return the definition of the query if it is defined, null value
56      * otherwise.
57      */

58     QueryDefinition getDefinition();
59
60     /**
61      * Compiles the query if it is not already done.
62      */

63     void compile() throws SpeedoException, MedorException, ExpressionException;
64
65     /**
66      * Executes the compiled query.
67      * @param parameters is the JDO parameters of query (does not contains
68      * internal parameter). The order of parameter must match the parameter
69      * declaration.
70      * @param pm is the proxy manager representing the execution context. It
71      * also used to load the instance in the result collection.
72      * @param qd TODO
73      * @return a list or one persistent instance depending on the unique flag.
74      * The result can be null only if the result is unique.
75      */

76     Object JavaDoc execute(Object JavaDoc[] parameters, ProxyManager pm, QueryDefinition qd)
77             throws SpeedoException, MedorException, ExpressionException;
78
79     Object JavaDoc execute(Map JavaDoc parameters, ProxyManager pm, QueryDefinition qd)
80             throws SpeedoException, MedorException, ExpressionException;
81
82 }
83
Popular Tags