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: BindingControllerContext.java,v 1.3 2004/11/15 16:44:24 moroy Exp $ 27 ====================================================================*/ 28 29 package org.objectweb.fractal.explorer.context; 30 31 import java.util.Vector; 32 33 import org.objectweb.fractal.api.Interface; 34 import org.objectweb.fractal.api.NoSuchInterfaceException; 35 import org.objectweb.fractal.api.control.BindingController; 36 import org.objectweb.util.explorer.api.Context; 37 import org.objectweb.util.explorer.api.Entry; 38 import org.objectweb.util.explorer.core.naming.lib.DefaultEntry; 39 40 /** 41 * Binding controller context. 42 * 43 * @author <a HREF="mailto:Jerome.Moroy@lifl.fr">Jerome Moroy</a> 44 * @version 0.1 45 */ 46 public class BindingControllerContext 47 implements Context 48 { 49 50 // ================================================================== 51 // 52 // Internal state. 53 // 54 // ================================================================== 55 56 // ================================================================== 57 // 58 // No Constructors. 59 // 60 // ================================================================== 61 62 // ================================================================== 63 // 64 // Internal methods. 65 // 66 // ================================================================== 67 68 // ================================================================== 69 // 70 // Public methods for interface Context. 71 // 72 // ================================================================== 73 74 /** 75 * Returns an array containing the entries contained by the target context. 76 * @return A new array of entry. 77 */ 78 public Entry[] getEntries(Object object) { 79 BindingController bc = (BindingController)object; 80 String[] itfs = bc.listFc() ; 81 Vector entries = new Vector(); 82 for (int i=0 ; i < itfs.length ; i++) { 83 try { 84 Interface itf = (Interface)bc.lookupFc(itfs[i]); 85 if(itf!=null){ 86 entries.add(new DefaultEntry(itfs[i], new ClientInterfaceWrapper(itf))); 87 } 88 } catch (NoSuchInterfaceException e) { } 89 } 90 return (Entry[]) entries.toArray(new Entry[0]); 91 } 92 93 }