KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > util > explorer > parser > lib > IconManager


1 /*====================================================================
2
3 Objectweb Explorer Framework
4 Copyright (C) 2000-2005 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 $Id: IconManager.java,v 1.2 2005/07/06 15:36:00 moroy Exp $
27 ====================================================================*/

28
29 package org.objectweb.util.explorer.parser.lib;
30
31 import org.objectweb.fractal.api.NoSuchInterfaceException;
32 import org.objectweb.util.explorer.core.common.api.ExplorerConstants;
33 import org.objectweb.util.explorer.core.common.lib.BindingFeature;
34 import org.objectweb.util.explorer.explorerConfig.Icon;
35 import org.objectweb.util.explorer.explorerConfig.Node;
36 import org.objectweb.util.explorer.parser.api.NodeParser;
37 import org.objectweb.util.explorer.property.api.PropertyFeeder;
38
39 /**
40  * This component manages the "icon" XML element.
41  *
42  * @author <a HREF="mailto:Jerome.Moroy@lifl.fr">Jérôme Moroy</a>,
43  * <a HREF="mailto:Philippe.Merle@lifl.fr">Philippe Merle</a>.
44  *
45  * @version 0.1
46  */

47 public class IconManager
48      extends BindingFeature
49   implements NodeParser
50 {
51     
52     //==================================================================
53
//
54
// Internal States.
55
//
56
// ==================================================================
57

58     /** The feeder to use. */
59     protected PropertyFeeder feeder_ = null;
60     
61     // ==================================================================
62
//
63
// Constructors.
64
//
65
// ==================================================================
66

67     // ==================================================================
68
//
69
// No internal method.
70
//
71
// ==================================================================
72

73     protected PropertyFeeder getFeeder(){
74         if(feeder_==null) {
75             try {
76                 feeder_ = (PropertyFeeder)lookupFc(PropertyFeeder.PROPERTY_FEEDER);
77             } catch (NoSuchInterfaceException e) {
78                 e.printStackTrace();
79             }
80         }
81         return feeder_;
82     }
83     
84     // ==================================================================
85
//
86
// Public methods for BindingFeature abstract class.
87
//
88
// ==================================================================
89

90     /* (non-Javadoc)
91      * @see org.objectweb.util.explorer.core.common.lib.BindingFeature#clientFc()
92      */

93     public String JavaDoc[] clientFc() {
94         return new String JavaDoc[]{PropertyFeeder.PROPERTY_FEEDER};
95     }
96
97     // ==================================================================
98
//
99
// Public methods for NodeParser interface.
100
//
101
// ==================================================================
102

103     /* (non-Javadoc)
104      * @see org.objectweb.util.explorer.parser.api.NodeParser#parseNode(java.lang.Object, org.objectweb.util.explorer.explorerConfig.Node)
105      */

106     public void parseNode(Object JavaDoc key, Node node) {
107         Icon icon = node.getIcon();
108         if(icon!=null){
109             getFeeder().feed(ExplorerConstants.ICON_PROPERTY, key, ParserUtils.getIconDescription(icon));
110         }
111     }
112
113 }
114
Popular Tags