KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > quikj > application > web > talk > client > TalkSessionFactory


1 /*
2  * TalkSessionFactory.java
3  *
4  * Created on November 19, 2002, 1:55 AM
5  */

6
7 package com.quikj.application.web.talk.client;
8
9 /**
10  *
11  * @author amit
12  */

13 public class TalkSessionFactory
14 {
15     /** Creates a new instance of TalkSessionFactory */
16     private TalkSessionFactory()
17     {
18         instance = this;
19     }
20     
21     public static TalkSessionFactory getInstance()
22     {
23         if (instance == null)
24         {
25             new TalkSessionFactory();
26         }
27         
28         return instance;
29     }
30     
31     public TalkSessionInterface createSession(String JavaDoc class_name)
32     {
33         if (class_name == null)
34         {
35             class_name = "com.quikj.application.web.talk.client.TalkSession";
36         }
37         
38         Class JavaDoc app_class = null;
39         try
40         {
41             app_class = Class.forName(class_name);
42         }
43         catch (ClassNotFoundException JavaDoc ex)
44         {
45             return null;
46         }
47         
48         // check if the class implements the PluginAppInterface
49
Class JavaDoc[] interfaces = app_class.getInterfaces();
50         
51         int i = 0;
52         for (i = 0; i < interfaces.length; i++)
53         {
54             if (interfaces[i].getName().equals("com.quikj.application.web.talk.client.TalkSessionInterface")
55             == true)
56             {
57                 break;
58             }
59         }
60         
61         if (i == interfaces.length)
62         {
63             // the class does not implement the TalkSessionInterface interface
64
return null;
65         }
66         
67         try
68         {
69             return (TalkSessionInterface)app_class.newInstance();
70         }
71         catch (InstantiationException JavaDoc ex1)
72         {
73             return null;
74         }
75         catch (IllegalAccessException JavaDoc ex2)
76         {
77             return null;
78         }
79     }
80     
81     public TalkSessionInterface createSession()
82     {
83         return createSession(null);
84     }
85     
86     private static TalkSessionFactory instance = null;
87 }
88
Popular Tags