KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > util > browser > plugins > fractal > icon > ClientCollectionIconProvider


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: ClientCollectionIconProvider.java,v 1.1 2004/04/20 16:37:27 moroy Exp $
27  ====================================================================*/

28
29 package org.objectweb.util.browser.plugins.fractal.icon;
30
31 import javax.swing.Icon JavaDoc;
32
33 import org.objectweb.fractal.api.Interface;
34 import org.objectweb.fractal.api.type.InterfaceType;
35 import org.objectweb.util.browser.api.Entry;
36 import org.objectweb.util.browser.plugins.fractal.context.ClientCollectionInterfaceContainer;
37 import org.objectweb.util.browser.plugins.fractal.context.InterfaceContext;
38 import org.objectweb.util.browser.plugins.fractal.context.InterfaceWrapper;
39
40 /**
41  *
42  * @author <a HREF="mailto:Romain.Rouvoy@lifl.fr">Romain Rouvoy</a>
43  * @version 0.1
44  */

45 public class ClientCollectionIconProvider
46      extends InterfaceIconProvider
47 {
48     /** Empty constructor. */
49     public ClientCollectionIconProvider() {
50         super();
51         loadFc("ClientCollection");
52         loadFc("ClientCollectionMandatory");
53         loadFc("ClientCollectionOptional");
54     }
55     
56     // ==================================================================
57
//
58
// Public methods for IconProvider interface.
59
//
60
// ==================================================================
61

62     /**
63      * Provides the appropriate icon.
64      */

65     public Icon JavaDoc newIcon(Object JavaDoc obj) {
66         ClientCollectionInterfaceContainer container = (ClientCollectionInterfaceContainer) obj;
67         Entry[] entries = container.getEntries() ;
68         if (entries.length == 0)
69             return (Icon JavaDoc) getIcons().get("ClientCollectionMandatory");
70         InterfaceWrapper ciw = null ;
71         try {
72             ciw = (InterfaceWrapper) entries[0].getValue();
73         } catch (ClassCastException JavaDoc ex) {
74             ciw = (InterfaceWrapper) ((InterfaceContext) entries[0].getValue()).getWrapped();
75         }
76         Interface itf = ciw.getItf();
77         InterfaceType itft = (InterfaceType)itf.getFcItfType();
78         if (itft.isFcOptionalItf())
79             return (Icon JavaDoc) getIcons().get("ClientCollectionOptional");
80         return (Icon JavaDoc) getIcons().get("ClientCollection");
81     }
82 }
83
Popular Tags