1 /*==================================================================== 2 3 Objectweb Browser Framework 4 Copyright (C) 2000-2003 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): Philippe Merle, Jerome Moroy. 23 Contributor(s): ______________________________________. 24 25 ====================================================================*/ 26 27 package org.objectweb.util.browser.plugin.java; 28 29 import java.util.Collection; 30 31 import org.objectweb.util.browser.api.MenuItem; 32 import org.objectweb.util.browser.api.MenuItemTreeView; 33 import org.objectweb.util.browser.api.TreeView; 34 35 /** 36 * This action clears all the elements of a <code>java.util.Collection</code> object. 37 * A <code>UnsupportedOperationException</code> may be thrown if the implementation 38 * of the collection doesn't supported the requested operation. 39 * 40 * @author <a HREF="mailto:Philippe.Merle@lifl.fr">Philippe Merle</a>, 41 * <a HREF="mailto:Jerome.Moroy@lifl.fr">Jérôme Moroy</a> 42 * 43 * @version 0.1 44 */ 45 public class CollectionClearAction 46 implements MenuItem { 47 48 //================================================================== 49 // 50 // No internal state. 51 // 52 //================================================================== 53 54 //================================================================== 55 // 56 // No constructor. 57 // 58 //================================================================== 59 60 //================================================================== 61 // 62 // No internal method. 63 // 64 //================================================================== 65 66 //================================================================== 67 // 68 // Public methods for MenuItem. 69 // 70 //================================================================== 71 72 /** 73 * Indicates if the menu item must be enabled, disabled or not visible. 74 * <br>Possible values: 75 * <ul> 76 * <li>ENABLED_STATUS: The menu item is enabled.</li> 77 * <li>DISABLED_STATUS: The menu item is disabled.</li> 78 * <li>NOT_VISIBLE_STATUS: The menu item is not visible.</li> 79 * </ul> 80 * 81 * @param treeView A view to obtain the node to check. 82 * 83 * @return The status associated to the menu item. 84 */ 85 public int 86 getStatus(TreeView treeView) { 87 return MenuItem.ENABLED_STATUS; 88 } 89 90 /** 91 * Invoked when an action occurs on the menu item. 92 * 93 * @param treeView The contextual MenuItemTreeView. 94 * 95 * @exception Exception The invocation may thrown every kind of exception. 96 */ 97 public void 98 actionPerformed(MenuItemTreeView treeView) 99 throws Exception { 100 Collection collection = (Collection)treeView.getSelectedObject(); 101 collection.clear(); 102 } 103 104 }