01: /**
02: * Speedo: an implementation of JDO compliant personality on top of JORM generic
03: * I/O sub-system.
04: * Copyright (C) 2001-2004 France Telecom R&D
05: *
06: * This library is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU Lesser General Public
08: * License as published by the Free Software Foundation; either
09: * 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: */package org.objectweb.speedo.query.api;
27:
28: import org.objectweb.speedo.pm.api.POManagerFactoryItf;
29: import org.objectweb.speedo.query.api.QueryDefinition;
30:
31: /**
32: * Is a manager of compiled query. It is responsible of CompiledQuery allocation
33: * and could implement a caching policy. The identifier of a query is a
34: * QueryDefinition.
35: *
36: * @author S.Chassande-Barrioz
37: */
38: public interface QueryManager {
39:
40: /**
41: * Retrieves a CompiledQuery for a given QueryDefinition. The compiled query
42: * can be a new instance or not (caching).
43: *
44: * @param qd defines the expected query.
45: * @return a CompiledQuery instance (never null).
46: */
47: CompiledQuery getQueryCompiler(QueryDefinition qd);
48:
49: POManagerFactoryItf getPMF();
50:
51: void setPMF(POManagerFactoryItf pmf);
52:
53: /**
54: * Clean the query manager.
55: */
56: void clean();
57: }
|