1 package ejava.examples.webtier.dao;
2
3 import java.util.HashMap;
4 import java.util.Iterator;
5
6 import org.apache.commons.logging.Log;
7 import org.apache.commons.logging.LogFactory;
8
9 public class DAOFactory {
10 private static Log log = LogFactory.getLog(DAOFactory.class);
11
12 private static HashMap<String, DAOTypeFactory> factories =
13 new HashMap<String, DAOTypeFactory>();
14
15 public static DAOTypeFactory getDAOTypeFactory() {
16 String name=null;
17 Iterator<String> itr = factories.keySet().iterator();
18 if (itr.hasNext()) {
19 name = factories.keySet().iterator().next();
20 }
21 log.debug("default DAO Factory name=" + name);
22 return (name==null) ? null : factories.get(name);
23 }
24
25 public static DAOTypeFactory getDAOTypeFactory(String name) {
26 return (name==null) ? null : factories.get(name);
27 }
28
29 public static void registerFactoryType(
30 String name, DAOTypeFactory typeFactory){
31 log.debug("registering DAOTypeFactory:" + name);
32 factories.put(name, typeFactory);
33 }
34 }