KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > util > explorer > property > lib > IconProperty


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.lib;
27
28 import java.util.HashMap JavaDoc;
29 import java.util.Map JavaDoc;
30
31 import org.objectweb.util.explorer.api.IconProvider;
32 import org.objectweb.util.explorer.core.common.api.Description;
33 import org.objectweb.util.explorer.core.icon.api.IconCodeDescription;
34 import org.objectweb.util.explorer.core.icon.api.IconDescription;
35
36 /**
37  *
38  *
39  * @author <a HREF="mailto:Jerome.Moroy@lifl.fr">Jérôme Moroy</a>,
40  * <a HREF="mailto:Philippe.Merle@lifl.fr">Philippe Merle</a>.
41  *
42  * @version 0.1
43  */

44 public class IconProperty
45      extends AbstractProperty
46 {
47
48     //==================================================================
49
//
50
// Internal States.
51
//
52
// ==================================================================
53

54     /** The data structure containing the mappings. */
55     protected Map JavaDoc properties_ = null;
56         
57     // ==================================================================
58
//
59
// Constructors.
60
//
61
// ==================================================================
62

63     /**
64      * Empty constructor
65      */

66     public IconProperty(){
67         properties_ = new HashMap JavaDoc();
68     }
69     
70     // ==================================================================
71
//
72
// Internal methods.
73
//
74
// ==================================================================
75

76     // ==================================================================
77
//
78
// Public methods for PropertyFeeder interface.
79
//
80
// ==================================================================
81

82     /* (non-Javadoc)
83      * @see org.objectweb.util.explorer.property.api.PropertyFeeder#feed(java.lang.String, java.lang.Object, org.objectweb.util.explorer.core.common.api.Description)
84      */

85     public void feed(String JavaDoc propertyType, Object JavaDoc key, Description value) {
86         IconDescription iconDesc = (IconDescription)value;
87         if(iconDesc!=null && !iconDesc.isEmpty()){
88             if(iconDesc instanceof IconCodeDescription){
89                 IconCodeDescription iconCodeDesc = (IconCodeDescription)iconDesc;
90                 if(getCodeProvider().getCode(iconCodeDesc.getCode()).isInstanceOf(IconProvider.class)){
91                     properties_.put(key,value);
92                 } else {
93                     getTrace().warn(iconCodeDesc.getCode() + " is not assignable from IconProvider!");
94                 }
95             } else {
96                 properties_.put(key,value);
97             }
98         }
99     }
100     
101     // ==================================================================
102
//
103
// Public methods for PropertyProvider interface.
104
//
105
// ==================================================================
106

107     /* (non-Javadoc)
108      * @see org.objectweb.util.explorer.property.api.PropertyProvider#getPropertyDescription(java.lang.String, java.lang.Object)
109      */

110     public Description getPropertyDescription(String JavaDoc propertyType, Object JavaDoc key) {
111         return (Description)properties_.get(key);
112     }
113
114 }
115
116
117
Popular Tags