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.interpreter.lib.swing; 27 28 import org.objectweb.util.explorer.core.common.api.Description; 29 import org.objectweb.util.explorer.core.icon.api.IconCodeDescription; 30 import org.objectweb.util.explorer.core.icon.api.IconDescription; 31 import org.objectweb.util.explorer.core.icon.api.IconFileDescription; 32 import org.objectweb.util.explorer.interpreter.lib.AbstractDescriptionInterpreter; 33 import org.objectweb.util.explorer.swing.icon.IconFileProvider; 34 35 /** 36 * 37 * 38 * @author <a HREF="mailto:Jerome.Moroy@lifl.fr">Jérôme Moroy</a>, 39 * <a HREF="mailto:Philippe.Merle@lifl.fr">Philippe Merle</a>. 40 * 41 * @version 0.1 42 */ 43 public class IconInterpreter 44 extends AbstractDescriptionInterpreter 45 { 46 47 //================================================================== 48 // 49 // Internal States. 50 // 51 // ================================================================== 52 53 // ================================================================== 54 // 55 // Constructors. 56 // 57 // ================================================================== 58 59 // ================================================================== 60 // 61 // Internal methods. 62 // 63 // ================================================================== 64 65 // ================================================================== 66 // 67 // Public methods for DescriptionInterpreter interface. 68 // 69 // ================================================================== 70 71 /* (non-Javadoc) 72 * @see org.objectweb.util.explorer.interpreter.api.DescriptionInterpreter#interprete(org.objectweb.util.explorer.core.common.api.Description, java.lang.Object) 73 */ 74 public Object interprete(Description description, Object params) { 75 IconDescription iconDesc = (IconDescription)description; 76 if (iconDesc instanceof IconFileDescription) { 77 return new IconFileProvider(((IconFileDescription)iconDesc).getURL()); 78 } else if (iconDesc instanceof IconCodeDescription) { 79 return getCodeProvider().getCode(((IconCodeDescription)iconDesc).getCode()).createInstance(); 80 } 81 return null; 82 } 83 84 } 85 86 87