KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > util > browser > plugins > fractal > panel > ControllerContainerTable


1 /*====================================================================
2  
3  Objectweb Browser Framework
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  $Id: ControllerContainerTable.java,v 1.1 2004/04/20 16:37:27 moroy Exp $
27  ====================================================================*/

28
29 package org.objectweb.util.browser.plugins.fractal.panel;
30
31 import org.objectweb.fractal.api.Interface;
32 import org.objectweb.fractal.api.type.InterfaceType;
33 import org.objectweb.util.browser.api.Entry;
34 import org.objectweb.util.browser.api.Table;
35 import org.objectweb.util.browser.api.TreeView;
36 import org.objectweb.util.browser.api.Wrapper;
37 import org.objectweb.util.browser.core.naming.DefaultEntry;
38 import org.objectweb.util.browser.core.naming.DefaultName;
39 import org.objectweb.util.browser.plugins.fractal.context.ControllerContainer;
40 import org.objectweb.util.browser.plugins.fractal.lib.SignatureWrapper;
41
42 /**
43  * Displays the controller interface.
44  * @author <a HREF="mailto:Jerome.Moroy@lifl.fr">Jerome Moroy</a>
45  * @version 0.1
46  */

47 public class ControllerContainerTable
48   implements Table
49 {
50     
51     //==================================================================
52
//
53
// Internal states.
54
//
55
//==================================================================
56

57     //==================================================================
58
//
59
// No constructor.
60
//
61
//==================================================================
62

63     // ==================================================================
64
//
65
// Internal methods.
66
//
67
// ==================================================================
68

69     /**
70      * Provides a row containing the controller and its signature.
71      */

72     protected Object JavaDoc[] getValues(Entry entry){
73         Interface itf = null;
74         if (Wrapper.class.isAssignableFrom(entry.getValue().getClass()))
75             itf = (Interface)((Wrapper)entry.getValue()).getWrapped();
76         else if (Interface.class.isAssignableFrom(entry.getValue().getClass()))
77             itf = (Interface)entry.getValue();
78         Object JavaDoc[] values = new Object JavaDoc[2];
79         String JavaDoc signature = "";
80         if(itf!=null)
81             signature = ((InterfaceType)itf.getFcItfType()).getFcItfSignature();
82         values[0] = entry;
83         values[1] = new DefaultEntry(new SignatureWrapper(signature),new DefaultName(signature));
84         return values;
85     }
86     
87     //==================================================================
88
//
89
// Public methods for Table interface.
90
//
91
//==================================================================
92

93     /**
94      * Overriding methods
95      * @see org.objectweb.util.browser.api.Table#getHeaders()
96      */

97     public String JavaDoc[] getHeaders(TreeView treeView) {
98         return new String JavaDoc[] {"Controller","Signature"};
99     }
100     
101     /**
102      * Overriding methods
103      * @see org.objectweb.util.browser.api.Table#getRows(org.objectweb.util.browser.api.TreeView)
104      */

105     public Object JavaDoc[][] getRows(TreeView treeView) {
106         ControllerContainer cc = (ControllerContainer)treeView.getSelectedObject();
107         Entry[] entries = cc.getEntries();
108         Object JavaDoc[][] values = new Object JavaDoc[entries.length][2];
109         for (int i = 0 ; i < entries.length ; i++) {
110             values[i] = getValues(entries[i]);
111         }
112         return values;
113     }
114 }
115
Popular Tags