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 22 */ 23 24 package org.objectweb.medor.datasource.api; 25 26 import org.objectweb.medor.api.DataSourceException; 27 28 /** 29 * A WrapperFactory is called at evaluation time by the QueryEvaluator when 30 * reaching a QueryLeaf. The WrapperFactory generates the appropriate 31 * Wrapper for the QueryLeaf. 32 * It maintains its pool of Wrappers. 33 * 34 * @author Sebastien Chassande-Barrioz 35 */ 36 public interface WrapperFactory { 37 38 Wrapper getWrapper(DataStore dl) throws DataSourceException; 39 40 /** 41 * For a given data store type, associates a Wrapper class. 42 * This will be used by the evaluator to associate the right Wrapper to 43 * each query leaf (data store). 44 * The Wrapper class must have an empty constructor (because it is 45 * instanciated using newInstance). 46 * @param dataStoreType is the type of data store 47 * (DataStore.getDataStoreType()) 48 * @param wrapperClass is the java Class for the associated Wrapper. 49 */ 50 void bindDataStoreToWrapper(short dataStoreType, 51 java.lang.Class wrapperClass) 52 throws DataSourceException; 53 } 54