KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > util > browser > plugins > fractal > menu > DefaultFractalMenuItem


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

28
29 package org.objectweb.util.browser.plugins.fractal.menu;
30
31 import org.objectweb.fractal.api.NoSuchInterfaceException;
32 import org.objectweb.fractal.api.control.LifeCycleController;
33 import org.objectweb.util.browser.api.MenuItem;
34 import org.objectweb.util.browser.api.MenuItemTreeView;
35 import org.objectweb.util.browser.api.TreeView;
36 import org.objectweb.util.browser.plugins.fractal.FcBrowser;
37 import org.objectweb.util.browser.plugins.fractal.api.FractalMenuItem;
38
39 /**
40  * Specialization of the menu item for entities having life cycle properties.
41  * @author <a HREF="mailto:Jerome.Moroy@lifl.fr">Jerome Moroy</a>
42  * @version 0.1
43  */

44 public abstract class DefaultFractalMenuItem
45            implements MenuItem,
46                       FractalMenuItem
47 {
48     //==================================================================
49
//
50
// No internal state.
51
//
52
//==================================================================
53

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

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

66     //==================================================================
67
//
68
// No public method.
69
//
70
//==================================================================
71

72     /**
73      * @see org.objectweb.util.browser.api.MenuItem#getStatus(org.objectweb.util.browser.api.TreeView)
74      */

75     public int getStatus(TreeView arg0) {
76         LifeCycleController lcc = null;
77         try{
78             lcc = FcBrowser.getLifeCycleController(FcBrowser.getComponent(arg0.getSelectedObject()));
79         } catch(NoSuchInterfaceException e) {
80             try {
81                 return getStartedStatus(arg0);
82             } catch (Exception JavaDoc e1) {
83                 return getStoppedStatus(arg0);
84             }
85         }
86         if(lcc.getFcState().equals(LifeCycleController.STARTED))
87             return getStartedStatus(arg0);
88         else
89             return getStoppedStatus(arg0);
90     }
91     
92     /**
93      * @see org.objectweb.util.browser.api.MenuItem#actionPerformed(org.objectweb.util.browser.api.MenuItemEvent)
94      */

95     public void actionPerformed(MenuItemTreeView arg0) throws Exception JavaDoc {
96         LifeCycleController lcc = null;
97         try {
98             lcc = FcBrowser.getLifeCycleController(FcBrowser.getComponent(arg0.getSelectedObject()));
99         } catch(NoSuchInterfaceException e) {
100             try {
101                 actionStartedPerformed(arg0);
102             } catch (Exception JavaDoc e1) {
103                 actionStoppedPerformed(arg0);
104             }
105         }
106         if(lcc.getFcState().equals(LifeCycleController.STARTED))
107             actionStartedPerformed(arg0);
108         else
109             actionStoppedPerformed(arg0);
110     }
111     
112     public int getStartedStatus(TreeView arg0) {
113         return MenuItem.ENABLED_STATUS;
114     }
115     
116     public int getStoppedStatus(TreeView arg0) {
117         return MenuItem.NOT_VISIBLE_STATUS;
118     }
119     
120     public void actionStoppedPerformed(MenuItemTreeView arg0) throws Exception JavaDoc {
121         // Nothing to do
122
}
123     
124     public abstract void actionStartedPerformed(MenuItemTreeView arg0) throws Exception JavaDoc;
125 }
Popular Tags