KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > openccm > explorer > CORBA > CORBAAttributesTable


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): Jerome Moroy.
23 Contributor(s): ______________________________________.
24
25 ====================================================================*/

26
27 package org.objectweb.openccm.explorer.CORBA;
28
29 import org.objectweb.openccm.explorer.CORBA.ConsoleFactory;
30 import org.objectweb.util.explorer.api.Table;
31 import org.objectweb.util.explorer.api.TreeView;
32 import org.objectweb.util.explorer.core.naming.lib.DefaultEntry;
33
34 /**
35  * Displays the attributes of the given <code>CORBA Object</code>.
36  *
37  * @author <a HREF="mailto:Jerome.Moroy@lifl.fr">Jerome Moroy</a>
38  *
39  * @version 0.1
40  */

41 public class CORBAAttributesTable
42      extends CORBAAttributes
43   implements Table
44 {
45
46     //==================================================================
47
//
48
// No Internal state.
49
//
50
//==================================================================
51

52     //==================================================================
53
//
54
// No constructor.
55
//
56
//==================================================================
57

58     // ==================================================================
59
//
60
// No Internal method.
61
//
62
// ==================================================================
63

64     //==================================================================
65
//
66
// Public methods for Table interface.
67
//
68
//==================================================================
69

70     /* (non-Javadoc)
71      * @see org.objectweb.util.explorer.api.Table#getHeaders(org.objectweb.util.explorer.api.TreeView)
72      */

73     public String JavaDoc[] getHeaders(TreeView treeView) {
74         return new String JavaDoc[]{"Name","Value"};
75     }
76     
77     /* (non-Javadoc)
78      * @see org.objectweb.util.explorer.api.Table#getRows(org.objectweb.util.explorer.api.TreeView)
79      */

80     public Object JavaDoc[][] getRows(TreeView treeView) {
81         org.omg.CORBA.Object JavaDoc obj = (org.omg.CORBA.Object JavaDoc)treeView.getSelectedObject();
82         java.util.Vector JavaDoc values = new java.util.Vector JavaDoc();
83         
84         for(int i=0 ; i<attributesName_.length ; i++){
85             if(exists(attributesName_[i],obj)){
86                 String JavaDoc name = attributesName_[i];
87                 try{
88                     Object JavaDoc returnValue = obj.getClass().getMethod(name,null).invoke(obj,null);
89                     String JavaDoc value = returnValue!=null?returnValue.toString():null;
90                     values.add(new Object JavaDoc[]{name, new DefaultEntry(value, new ViewAttributeWrapper(name,obj))});
91                 } catch(Exception JavaDoc e) {
92                     ConsoleFactory.getDebugConsole().add("[" + getClass().getName() + "] " + name + "() method not found!\n");
93                 }
94             }
95         }
96
97         Object JavaDoc[][] contents = new Object JavaDoc[values.size()][2];
98         for(int i=0 ; i<values.size() ; i++)
99             contents[i] = (Object JavaDoc[])values.get(i);
100
101         return contents;
102  
103     }
104    
105 }
106
Popular Tags