KickJava   Java API By Example, From Geeks To Geeks.

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


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 org.objectweb.util.explorer.core.common.api.Description;
29 import org.objectweb.util.explorer.core.menu.api.MenuDescription;
30 import org.objectweb.util.explorer.core.menu.api.MenuElement;
31
32 /**
33  * Implementation of the MenuProperty fractal component.
34  *
35  * @author <a HREF="mailto:Jerome.Moroy@lifl.fr">Jérôme Moroy</a>,
36  * <a HREF="mailto:Philippe.Merle@lifl.fr">Philippe Merle</a>.
37  *
38  * @version 0.1
39  */

40 public class MenuProperty
41      extends AbstractProperty
42 {
43
44     //==================================================================
45
//
46
// Internal States.
47
//
48
// ==================================================================
49

50     // ==================================================================
51
//
52
// Constructors.
53
//
54
// ==================================================================
55

56     // ==================================================================
57
//
58
// Internal method.
59
//
60
// ==================================================================
61

62     /**
63      * Merges the two menu definition
64      */

65     protected void mergeMenuDescription(MenuDescription source, MenuDescription target) {
66         MenuElement[] elements = target.getAllMenuElements();
67         for (int i = 0; i < elements.length; i++) {
68             source.addMenuElement(elements[i]);
69         }
70     }
71     
72     // ==================================================================
73
//
74
// Public methods ExplorerPropertyFeeder interface.
75
//
76
// ==================================================================
77

78     /* (non-Javadoc)
79      * @see org.objectweb.util.explorer.core.common.api.ExplorerPropertyFeeder#feed(int, java.lang.Object, java.lang.Object)
80      */

81     public void feed(String JavaDoc propertyType, Object JavaDoc key, Description value) {
82         if(value!=null && value instanceof MenuDescription){
83             if(properties_.containsKey(key)){
84                 Description description = (Description)properties_.get(key);
85                 mergeMenuDescription((MenuDescription)description, (MenuDescription)value);
86             } else {
87                 properties_.put(key,value);
88             }
89         }
90     }
91
92     // ==================================================================
93
//
94
// Public methods PropertyProvider interface.
95
//
96
// ==================================================================
97

98     /* (non-Javadoc)
99      * @see org.objectweb.util.explorer.core.common.api.PropertyProvider#getPropertyDescription(int, java.lang.Object)
100      */

101     public Description getPropertyDescription(String JavaDoc propertyType, Object JavaDoc key) {
102         return (Description)properties_.get(key);
103     }
104
105 }
106
107
Popular Tags