KickJava   Java API By Example, From Geeks To Geeks.

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


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.DropAction;
32 import org.objectweb.util.explorer.core.code.api.CodeDescription;
33 import org.objectweb.util.explorer.core.common.api.Description;
34 import org.objectweb.util.explorer.core.dnd.api.DnDDescription;
35 import org.objectweb.util.explorer.core.dnd.api.DnDDescriptions;
36 import org.objectweb.util.explorer.core.dnd.lib.BasicDnDDescriptions;
37
38 /**
39  *
40  *
41  * @author <a HREF="mailto:Jerome.Moroy@lifl.fr">Jérôme Moroy</a>,
42  * <a HREF="mailto:Philippe.Merle@lifl.fr">Philippe Merle</a>.
43  *
44  * @version 0.1
45  */

46 public class DnDProperty
47      extends AbstractProperty
48 {
49
50     //==================================================================
51
//
52
// Internal States.
53
//
54
// ==================================================================
55

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

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

75     protected void addDnDDescription(Object JavaDoc key, DnDDescription dndDesc){
76         if(!dndDesc.isEmpty()){
77             DnDDescriptions dndDescs = (DnDDescriptions)properties_.get(key);
78             if(dndDescs==null){
79                 dndDescs = new BasicDnDDescriptions();
80                 properties_.put(key, dndDescs);
81             }
82             CodeDescription codeDesc = (CodeDescription)dndDesc.getCodeDescription();
83             if(getCodeProvider().getCode(codeDesc).isInstanceOf(DropAction.class)){
84                 dndDescs.addDropAction(dndDesc);
85             } else {
86                 getTrace().warn(codeDesc.getCode() + " is not assignable from DropAction!");
87             }
88         }
89     }
90     
91     // ==================================================================
92
//
93
// Public methods for PropertyFeeder interface.
94
//
95
// ==================================================================
96

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

100     public void feed(String JavaDoc propertyType, Object JavaDoc key, Description value) {
101         if(value!=null && value instanceof DnDDescription){
102             addDnDDescription(key, (DnDDescription)value);
103         }
104     }
105
106     // ==================================================================
107
//
108
// Public methods for PropertyProvider interface.
109
//
110
// ==================================================================
111

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

115     public Description getPropertyDescription(String JavaDoc propertyType, Object JavaDoc key) {
116         return (Description)properties_.get(key);
117     }
118
119 }
120
121
122
Popular Tags