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.api; 28 29 /** The Java API's imports */ 30 import javax.swing.Icon; 31 32 /** 33 * <p> 34 * Standard interface for <code>javax.swing.Icon</code> provider. <br> 35 * In order to define an icon provider, you can have a look to the corresponding 36 * <a HREF="../../../../../../resources/browser_dtd.html#icon">DTD element</a> or to 37 * an <a HREF="package-summary.html#xml">XML example.</a> 38 * </p> 39 * 40 * <p> 41 * Example: 42 * <pre> 43 * public Icon 44 * newIcon(Object object) 45 * { 46 * Properties properties = (Properties)object; 47 * return new NumberIcon(properties.size()); 48 * } 49 * </pre> 50 * This example is specify for <code>java.util.Properties</code> objet 51 * and displays an icon containing the number of properties containing in its. 52 * </p> 53 * 54 * @author <a HREF="mailto:Philippe.Merle@lifl.fr">Philippe Merle</a>, 55 * <a HREF="mailto:Jerome.Moroy@lifl.fr">Jérôme Moroy</a> 56 * 57 * @version 0.2 58 */ 59 public interface IconProvider 60 { 61 62 /** 63 * Return an <code>javax.swing.Icon</code> according to the given object. 64 * 65 * @param object The object to compute the associated icon. 66 * 67 * @return The icon according to the given object. 68 */ 69 public Icon 70 newIcon(Object object); 71 72 }