Author: glandais Date: 2007-12-05 15:24:39 +0000 (Wed, 05 Dec 2007) New Revision: 43 Removed: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/ElementDAOFactory.java Log: Refactoring factories Deleted: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/ElementDAOFactory.java =================================================================== --- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/ElementDAOFactory.java 2007-12-05 15:24:28 UTC (rev 42) +++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/ElementDAOFactory.java 2007-12-05 15:24:39 UTC (rev 43) @@ -1,47 +0,0 @@ -package org.cemagref.simexplorer.si.storage.dao; - -import java.util.HashMap; -import java.util.Map; -import java.util.StringTokenizer; - -import org.cemagref.simexplorer.si.storage.dao.factories.EntityFactory; -import org.cemagref.simexplorer.si.storage.entities.Entity; - -public class ElementDAOFactory { - - private final static String PACKAGE_DAO = "org.cemagref.simexplorer.si.storage.dao.factories"; - - private static Map<String, EntityFactory> factories = new HashMap<String, EntityFactory>(); - - public static EntityFactory getFactory(String entityClassName) - throws Throwable { - EntityFactory entityFactory = factories.get(entityClassName); - if (entityFactory == null) { - - StringTokenizer st = new StringTokenizer(entityClassName, "."); - String simpleClassName = null; - while (st.hasMoreTokens()) { - simpleClassName = st.nextToken(); - } - - String elementFactoryClassName = simpleClassName + "Factory"; - - Class elementFactoryClass = Class.forName(PACKAGE_DAO + "." - + elementFactoryClassName); - - entityFactory = (EntityFactory) elementFactoryClass.newInstance(); - factories.put(entityClassName, entityFactory); - } - - return entityFactory; - } - - /** - * @param entityClass - * @return - * @throws Throwable - */ - public static EntityFactory getFactory(Class entityClass) throws Throwable { - return getFactory(entityClass.getName()); - } -}