KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > lateralnz > panther > wrapper > KeyedPoolableBeanObjectFactory


1 package org.lateralnz.panther.wrapper;
2
3 import java.util.HashMap JavaDoc;
4 import javax.ejb.SessionBean JavaDoc;
5
6 import org.apache.commons.pool.KeyedPoolableObjectFactory;
7
8 /**
9  *
10  * @author jbriggs
11  */

12 public class KeyedPoolableBeanObjectFactory implements KeyedPoolableObjectFactory {
13   
14   private HashMap JavaDoc wrapperClasses = new HashMap JavaDoc();
15   
16   public KeyedPoolableBeanObjectFactory() {
17   }
18   
19   public void setWrapperClass(Object JavaDoc key, Class JavaDoc wrapperClass) {
20     
21     wrapperClasses.put(key, wrapperClass);
22   }
23   
24     public void activateObject(Object JavaDoc key, Object JavaDoc obj) throws Exception JavaDoc {
25     SessionBean JavaDoc sb = (SessionBean JavaDoc)obj;
26     sb.ejbActivate();
27   }
28
29   public void destroyObject(Object JavaDoc key, Object JavaDoc obj) throws Exception JavaDoc {
30     SessionBean JavaDoc sb = (SessionBean JavaDoc)obj;
31     sb.ejbRemove();
32   }
33
34   public Object JavaDoc makeObject(Object JavaDoc key) throws Exception JavaDoc {
35     Class JavaDoc c = (Class JavaDoc)wrapperClasses.get(key);
36     Object JavaDoc obj = c.newInstance();
37     SessionBeanWrapper sb = (SessionBeanWrapper)obj;
38     return obj;
39   }
40
41   public void passivateObject(Object JavaDoc key, Object JavaDoc obj) throws Exception JavaDoc {
42     SessionBean JavaDoc sb = (SessionBean JavaDoc)obj;
43     sb.ejbPassivate();
44   }
45   
46   public boolean validateObject(Object JavaDoc key, Object JavaDoc obj) {
47     return true;
48   }
49 }
50
Popular Tags