View Javadoc
1   /*******************************************************************************
2    *   Gisgraphy Project 
3    * 
4    *   This library is free software; you can redistribute it and/or
5    *   modify it under the terms of the GNU Lesser General Public
6    *   License as published by the Free Software Foundation; either
7    *   version 2.1 of the License, or (at your option) any later version.
8    * 
9    *   This library is distributed in the hope that it will be useful,
10   *   but WITHOUT ANY WARRANTY; without even the implied warranty of
11   *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12   *   Lesser General Public License for more details.
13   * 
14   *   You should have received a copy of the GNU Lesser General Public
15   *   License along with this library; if not, write to the Free Software
16   *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
17   * 
18   *  Copyright 2008  Gisgraphy project 
19   *  David Masclet <davidmasclet@gisgraphy.com>
20   *  
21   *  
22   *******************************************************************************/
23  package com.gisgraphy.domain.repository;
24  
25  import java.util.Collection;
26  
27  import com.gisgraphy.domain.geoloc.entity.GisFeature;
28  
29  public interface IRepositoryStrategy {
30  
31      /**
32       * @param placeType
33       *                the placetype we'd like to retrieve the dao. if the place
34       *                type is null the gisFeatureDao will be return
35       * @return the dao corresponding to the specified class
36       * @throws a
37       *                 RepositoryException if no dao is found for the specified
38       *                 placetype
39       */
40      public abstract IGisDao<?> getDao(
41  	    Class<?> placeType);
42  
43      /**
44       * @return all the availables daos. never return null but an empty Arraylist
45       *         if there is no dao
46       */
47      public abstract Collection<IGisDao<? extends GisFeature>> getAvailablesDaos();
48  
49  }