1 /*==================================================================== 2 3 Objectweb Explorer 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, Philippe Merle. 23 Contributor(s): ______________________________________. 24 25 ====================================================================*/ 26 package org.objectweb.util.explorer.property.api; 27 28 import org.objectweb.util.explorer.core.common.api.Description; 29 30 /** 31 * 32 * 33 * @author <a HREF="mailto:Jerome.Moroy@lifl.fr">Jérôme Moroy</a>, 34 * <a HREF="mailto:Philippe.Merle@lifl.fr">Philippe Merle</a>. 35 * 36 * @version 0.1 37 */ 38 public interface PropertyProvider { 39 40 /** The name of the fractal interface reference. */ 41 public static String PROPERTY_PROVIDER = "property-provider"; 42 43 /** 44 * Provides the description of the property 45 * for the given type of properties and the given key. 46 * @param propertyType The type of property. The available types are: 47 * <ul> 48 * <li>ExplorerConstants.ICON_PROPERTY for defining icon.</li> 49 * <li>ExplorerConstants.MENU_PROPERTY for defining menu.</li> 50 * <li>ExplorerConstants.INFO_PROPERTY for defining info.</li> 51 * </ul> 52 * @param key The storage key. 53 * The key parameter is an Object resulting from the <code>KeyProvider</code> 54 * component, excepted for the <code>RootProperty</code> component which is a 55 * String representing te ID of the role. 56 * @return The associated property (or null if no property is found for the given parameters) 57 */ 58 public Description getPropertyDescription(String propertyType, Object key); 59 60 } 61