KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > fractal > explorer > menu > InstantiateAction


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: InstantiateAction.java,v 1.3 2004/11/15 16:44:24 moroy Exp $
27  ====================================================================*/

28
29 package org.objectweb.fractal.explorer.menu;
30
31 import org.objectweb.fractal.api.Component;
32 import org.objectweb.fractal.api.NoSuchInterfaceException;
33 import org.objectweb.fractal.api.control.NameController;
34 import org.objectweb.fractal.api.factory.Factory;
35 import org.objectweb.fractal.api.factory.InstantiationException;
36 import org.objectweb.fractal.explorer.FcExplorer;
37 import org.objectweb.util.explorer.api.MenuItem;
38 import org.objectweb.util.explorer.api.MenuItemTreeView;
39 import org.objectweb.util.explorer.api.TreeView;
40
41 /**
42  * This action allows to instantiate a component.
43  *
44  * @author <a HREF="mailto:Jerome.Moroy@lifl.fr">Jerome Moroy</a>
45  * @version 0.1
46  */

47 public class InstantiateAction
48   implements MenuItem
49 {
50     //==================================================================
51
//
52
// No internal state.
53
//
54
//==================================================================
55

56     //==================================================================
57
//
58
// No constructor.
59
//
60
//==================================================================
61

62     //==================================================================
63
//
64
// No internal method.
65
//
66
//==================================================================
67

68     //==================================================================
69
//
70
// Public methods for MenuItem interface.
71
//
72
//==================================================================
73

74     /* (non-Javadoc)
75      * @see org.objectweb.util.explorer.api.MenuItem#actionPerformed(org.objectweb.util.explorer.api.MenuItemTreeView)
76      */

77     public void actionPerformed(MenuItemTreeView e) {
78         Factory factory = (Factory)e.getSelectedObject();
79         try {
80             Component component = factory.newFcInstance();
81             NameController nameController = FcExplorer.getNameController(component);
82             String JavaDoc name = "new-component";
83             if(nameController!=null)
84                 name = nameController.getFcName();
85             e.getTree().addEntry(name,component);
86         } catch (InstantiationException JavaDoc e1) {
87             System.out.println("[" + getClass().getName() + "] Exception: " + e1.getMessage());
88         } catch (NoSuchInterfaceException e2) {
89             System.out.println("[" + getClass().getName() + "] Exception: " + e2.getMessage());
90         }
91     }
92     
93     /* (non-Javadoc)
94      * @see org.objectweb.util.explorer.api.MenuItem#getStatus(org.objectweb.util.explorer.api.TreeView)
95      */

96     public int getStatus(TreeView treeView) {
97         return MenuItem.ENABLED_STATUS;
98     }
99 }
Popular Tags