KickJava   Java API By Example, From Geeks To Geeks.

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


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: DefaultFractalIconProvider.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.NoSuchInterfaceException;
34 import org.objectweb.fractal.api.control.LifeCycleController;
35 import org.objectweb.util.browser.api.IconProvider;
36 import org.objectweb.util.browser.core.icon.StringIcon;
37 import org.objectweb.util.browser.plugins.fractal.FcBrowser;
38 import org.objectweb.util.browser.plugins.fractal.api.FractalIconProvider;
39
40 /**
41  * Basic icon provider for fractal.
42  * @author <a HREF="mailto:Jerome.Moroy@lifl.fr">Jerome Moroy</a>
43  * @version 0.1
44  */

45 public abstract class DefaultFractalIconProvider
46            implements IconProvider,
47                       FractalIconProvider
48 {
49     //==================================================================
50
//
51
// No internal state.
52
//
53
//==================================================================
54

55     /** The icon displayed when the Fractal component is stopped. */
56     protected Icon JavaDoc unknownIcon;
57     
58     //==================================================================
59
//
60
// No constructor.
61
//
62
//==================================================================
63

64     public DefaultFractalIconProvider() {
65         unknownIcon = new StringIcon("?");
66     }
67     
68     //==================================================================
69
//
70
// Internal methods.
71
//
72
//==================================================================
73

74     //==================================================================
75
//
76
// No public method.
77
//
78
//==================================================================
79

80     /**
81      * @see org.objectweb.util.browser.api.IconProvider#newIcon(java.lang.Object)
82      */

83     public Icon JavaDoc newIcon(Object JavaDoc object) {
84         LifeCycleController lcc = null;
85         try{
86             lcc = FcBrowser.getLifeCycleController(FcBrowser.getComponent(object));
87         } catch(NoSuchInterfaceException e) {
88             try {
89                 return newStartedIcon(object);
90             } catch (Exception JavaDoc e1) {
91                 return newStoppedIcon(object);
92             }
93         }
94         if(lcc.getFcState().equals(LifeCycleController.STARTED))
95             return newStartedIcon(object);
96         else
97             return newStoppedIcon(object);
98     }
99     
100     /**
101      * Returns an icon which represents a question mark.
102      * @param object The object you want to find the associated icon.
103      * @return The associated icon.
104      */

105     public Icon JavaDoc newStoppedIcon(Object JavaDoc object){
106         return unknownIcon;
107     }
108     
109     /**
110      * Called when the Fractal component is started.
111      * @param object The object you want to find the associated icon.
112      * @return The associated icon.
113      */

114     public abstract Icon JavaDoc newStartedIcon(Object JavaDoc object);
115 }
Popular Tags