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.speedo.query.api.QueryDefinition; 31 32 /** 33 * Is a manager of compiled query. It is responsible of CompiledQuery allocation 34 * and could implement a caching policy. The identifier of a query is a 35 * QueryDefinition. 36 * 37 * @author S.Chassande-Barrioz 38 */ 39 public interface QueryManager { 40 41 /** 42 * Retrieves a CompiledQuery for a given QueryDefinition. The compiled query 43 * can be a new instance or not (caching). 44 * 45 * @param qd defines the expected query. 46 * @return a CompiledQuery instance (never null). 47 */ 48 CompiledQuery getQueryCompiler(QueryDefinition qd); 49 } 50