KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > util > browser > plugins > fractal > context > ComponentContextForAdvanced


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): Romain Rouvoy.
23  Contributor(s): ______________________________________.
24  
25  ---------------------------------------------------------------------
26  $Id: ComponentContextForAdvanced.java,v 1.1 2004/04/20 16:37:26 moroy Exp $
27  ====================================================================*/

28
29 package org.objectweb.util.browser.plugins.fractal.context;
30
31 import org.objectweb.fractal.api.Component;
32 import org.objectweb.fractal.api.NoSuchInterfaceException;
33 import org.objectweb.fractal.api.control.ContentController;
34 import org.objectweb.util.browser.api.Entry;
35 import org.objectweb.util.browser.core.api.ContextContainer;
36 import org.objectweb.util.browser.core.naming.DefaultEntry;
37 import org.objectweb.util.browser.core.naming.DefaultName;
38 import org.objectweb.util.browser.plugins.fractal.FcBrowser;
39
40 /**
41  * Component context for advanced users (view of internal components).
42  * @author <a HREF="mailto:Romain.Rouvoy@lifl.fr">Romain Rouvoy</a>
43  * @version 0.1
44  */

45 public class ComponentContextForAdvanced
46      extends ComponentContextForService
47 {
48     // ==================================================================
49
//
50
// No internal state.
51
//
52
// ==================================================================
53

54     // ==================================================================
55
//
56
// No Constructors.
57
//
58
// ==================================================================
59

60     // ==================================================================
61
//
62
// Internal methods.
63
//
64
// ==================================================================
65

66     // ==================================================================
67
//
68
// Public methods for interface Context.
69
//
70
// ==================================================================
71

72     /**
73      * Returns an array containing the entries contained by the target context.
74      * @return A new array of entry.
75      */

76     public Entry[] getEntries() {
77         Entry[] entries = super.getEntries();
78         try {
79             ContentController cc = FcBrowser.getContentController(ci_);
80             ContextContainer container = new InternalComponentContainer();
81             Component[] components = cc.getFcSubComponents();
82             for (int i=0 ; i<components.length ; i++) {
83                 container.addEntry(FcBrowser.getName(components[i]),
84                                    components[i]);
85             }
86             
87             Entry[] values = new Entry[entries.length + 1];
88             values[0] = new DefaultEntry(container, new DefaultName("components"));
89             System.arraycopy(entries,0,values,1,entries.length);
90             return values;
91         } catch (NoSuchInterfaceException e) {
92             return entries;
93         }
94     }
95 }
96
Popular Tags