KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > util > browser > core > panel > DefaultTableFactory


1 /*====================================================================
2
3 Objectweb Browser Framework
4 Copyright (C) 2000-2003 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): Philippe Merle, Jerome Moroy.
23 Contributor(s): ______________________________________.
24
25 ====================================================================*/

26
27 package org.objectweb.util.browser.core.panel;
28
29 import org.objectweb.util.browser.api.Panel;
30 import org.objectweb.util.browser.api.Table;
31 import org.objectweb.util.browser.core.api.ContextProperty;
32 import org.objectweb.util.browser.core.api.TableFactory;
33 import org.objectweb.util.browser.core.common.DynamicTree;
34
35 /**
36  *
37  *
38  * @author <a HREF="mailto:Philippe.Merle@lifl.fr">Philippe Merle</a>,
39  * <a HREF="mailto:Jerome.Moroy@lifl.fr">Jérôme Moroy</a>
40  *
41  * @version 0.1
42  */

43 public class DefaultTableFactory
44   implements TableFactory {
45
46     //==================================================================
47
//
48
// Internal states.
49
//
50
//==================================================================
51

52     /** The class to instantiate */
53     protected Class JavaDoc class_ = null;
54
55     /** The tree */
56     protected DynamicTree tree_ = null;
57
58     //==================================================================
59
//
60
// No constructor.
61
//
62
//==================================================================
63

64     public DefaultTableFactory(DynamicTree tree){
65         tree_ = tree;
66     }
67
68     //==================================================================
69
//
70
// No internal method.
71
//
72
//==================================================================
73

74     //==================================================================
75
//
76
// No public method.
77
//
78
//==================================================================
79

80     /**
81      * Return a Panel associated to the param's object.
82      *
83      * @param object The object for which the panel is created.
84      * @return The associated panel.
85      */

86     public Panel newPanel(Object JavaDoc object){
87         Table table = null;
88         if (class_ != null) {
89             try {
90                 table = (Table)class_.newInstance();
91             } catch (java.lang.InstantiationException JavaDoc e) {
92                 System.out.println(class_.getName() + " : Instanciation exception");
93             } catch (java.lang.IllegalAccessException JavaDoc e) {
94                 System.out.println(class_.getName() + " : Illegal access exception");
95             }
96         }
97         if(table!=null && tree_!=null){
98             ContextProperty cp = tree_.getContextProperty();
99             if(cp!=null)
100                 return new DefaultTablePanel(table, tree_.getAdminCustomization(), cp.getDecoder());
101             else
102                 return new DefaultTablePanel(table, tree_.getAdminCustomization());
103         }
104         return null;
105     }
106
107     /**
108      * Overriding methods
109      * @see org.objectweb.util.browser.core.api.TableFactory#setClassName(java.lang.Class)
110      */

111     public void setClassName(Class JavaDoc theClass) {
112         class_ = theClass;
113     }
114
115 }
116
117
Popular Tags