KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > openccm > pss > generator > common > lib > MappingObjectFactory


1 /*====================================================================
2
3 OpenCCM: The Open CORBA Component Model Platform
4 Copyright (C) 2000-2004 INRIA & USTL - LIFL - GOAL
5 Contact: openccm@objectweb.org
6
7 This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Lesser General Public
9 License as published by the Free Software Foundation; either
10 version 2.1 of the License, or any later version.
11
12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Lesser General Public License for more details.
16
17 You should have received a copy of the GNU Lesser General Public
18 License along with this library; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
20 USA
21
22 Initial developer(s): Christophe Demarey.
23 Contributor(s): ________________________________________.
24
25 ====================================================================*/

26
27 package org.objectweb.openccm.pss.generator.common.lib;
28
29 // Package dependencies
30

31
32 /**
33  * This class choose the MappingObject implementation
34  * according to the persistent framework.
35  *
36  * @author <a HREF="mailto:Christophe.Demarey@lifl.fr">Christophe Demarey</a>
37  *
38  * @version 0.1
39  */

40
41 public class MappingObjectFactory
42 {
43     public static Object JavaDoc
44     getClass(String JavaDoc name)
45     {
46         String JavaDoc pf = null;
47         String JavaDoc class_name = null;
48         ClassLoader JavaDoc loader = null;
49         
50         pf = System.getProperty("openccm.pss.pf");
51         loader = Thread.currentThread().getContextClassLoader();
52                 
53         if (pf != null)
54         {
55             class_name = "org.objectweb.openccm.pss.generator."
56                          + pf + ".lib." + name;
57             try
58             {
59                 Class JavaDoc clazz = Class.forName(class_name);
60                 try
61                 {
62                     return clazz.newInstance();
63                 } catch (Exception JavaDoc e1) {
64                     e1.printStackTrace();
65                 }
66             } catch (ClassNotFoundException JavaDoc e) {
67                 // Give the common class
68
class_name = "org.objectweb.openccm.pss.generator.common.lib."
69                              + name;
70                 try
71                 {
72                     Class JavaDoc clazz = Class.forName(class_name);
73                     try
74                     {
75                         return clazz.newInstance();
76                     } catch (Exception JavaDoc e1) {
77                         e1.printStackTrace();
78                     }
79                 } catch (ClassNotFoundException JavaDoc e2) {
80                     // Should not happen!
81
e2.printStackTrace();
82                 }
83             }
84         }
85         
86         return null;
87     }
88 }
89
Popular Tags