KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jacorb > ir > gui > typesystem > TypeSystem


1 /*
2  * JacORB - a free Java ORB
3  *
4  * Copyright (C) 1999-2004 Gerald Brose
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Library General Public
8  * License as published by the Free Software Foundation; either
9  * version 2 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Library General Public License for more details.
15  *
16  * You should have received a copy of the GNU Library General Public
17  * License along with this library; if not, write to the Free
18  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19  *
20  */

21 package org.jacorb.ir.gui.typesystem;
22
23
24
25 import java.util.*;
26 import javax.swing.tree.*;
27
28 import javax.swing.table.*;
29
30
31
32 /**
33
34  * This class was generated by a SmartGuide.
35
36  *
37
38  */

39
40 public abstract class TypeSystem
41
42 {
43
44     // Abbildung von Benutzer-lesbaren nodeTypeNames auf Klassennamen
45

46     // Unterklassen von TypeSystemNode tragen sich hier entsprechend selbst ein.
47

48     // (da sich konkret nur Klassen entsprechend den CORBA-IR Klassen eintragen,
49

50     // kann es nicht zu Namenskonflikten kommen, da IDL-Bezeichner eindeutig sind)
51

52     private static Hashtable nodeTypes = new Hashtable();
53
54     
55
56     protected DefaultTreeModel treeModel = null;
57
58
59
60
61
62
63
64     /**
65
66      * Erzeugt node entsprechend dem übergebenen nodeTypeName
67
68      * (z.B. "module" erzeugt ein IRModule-Objekt)
69
70      * @return org.jacorb.ir.gui.typesystem.TypeSystemNode
71
72      * @param nodeTypeName java.lang.String
73
74      */

75
76     public static TypeSystemNode createNode (String JavaDoc nodeTypeName)
77
78         throws ClassNotFoundException JavaDoc
79
80     {
81
82     TypeSystemNode node = null;
83
84     Class JavaDoc c = Class.forName( (String JavaDoc)nodeTypes.get(nodeTypeName) );
85
86     try {
87
88             node = (TypeSystemNode)c.newInstance();
89
90     }
91
92     catch (Exception JavaDoc e) {
93
94             e.printStackTrace();
95
96     }
97
98     return node;
99
100     
101
102 }
103
104     /**
105
106      * Erzeugt TreeModel, das nur root enthält. Um Nodes zu expandieren, muß der von getTreeExpansionListener(treeModel)
107
108      * zurückgegebene TreeExpansionListener bei JTree angemeldet werden.
109
110      * @return javax.swing.tree.DefaultTreeModel
111
112      * @param root org.jacorb.ir.gui.typesystem.ModelParticipant
113
114      */

115
116
117
118     public abstract DefaultTreeModel createTreeModelRoot();
119
120
121
122     /**
123
124      * This method was created by a SmartGuide.
125
126      * @return TableModel
127
128      * @param node org.jacorb.ir.gui.typesystem.TypeSystemNode
129
130      */

131
132
133
134     public abstract DefaultTableModel getTableModel(DefaultMutableTreeNode treeNode);
135
136     /**
137
138      * This method was created by a SmartGuide.
139
140      * @return javax.swing.event.TreeExpansionListener
141
142      * @param treeModel javax.swing.tree.DefaultTreeModel
143
144      */

145
146     public abstract javax.swing.event.TreeExpansionListener JavaDoc getTreeExpansionListener(TreeModel treeModel);
147
148     /**
149
150      * This method was created by a SmartGuide.
151
152      * @return javax.swing.tree.TreeModel
153
154      */

155
156     public abstract TreeModel getTreeModel ( );
157
158     /**
159
160      * Wird von static initializern von Unterklassen von TypeSystemNode aufgerufen, um sich für
161
162      * createNode() zu registrieren.
163
164      * @param nodeTypeName java.lang.String
165
166      * @param className java.lang.String
167
168      */

169
170     protected static void registerNodeType(String JavaDoc nodeTypeName, String JavaDoc className) {
171
172     nodeTypes.put(nodeTypeName,className);
173
174     }
175
176 }
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
Popular Tags