Mercurial > projects > dwt2
comparison org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/beans/BeanObservableMapDecorator.d @ 98:48d4ee626868
rm databinding.observable seems to be duplicate, databinding.beans now building
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Wed, 22 Apr 2009 07:30:21 +0200 |
parents | b74ac5dfcc06 |
children |
comparison
equal
deleted
inserted
replaced
97:c86eb8b3098e | 98:48d4ee626868 |
---|---|
31 * {@link IBeanObservable} decorator for an {@link IObservableMap}. | 31 * {@link IBeanObservable} decorator for an {@link IObservableMap}. |
32 * | 32 * |
33 * @since 3.3 | 33 * @since 3.3 |
34 */ | 34 */ |
35 public class BeanObservableMapDecorator : IObservableMap, IBeanObservable { | 35 public class BeanObservableMapDecorator : IObservableMap, IBeanObservable { |
36 private IObservableMap delegate; | 36 private IObservableMap delegate_; |
37 private Object observed; | 37 private Object observed; |
38 private PropertyDescriptor propertyDescriptor; | 38 private PropertyDescriptor propertyDescriptor; |
39 | 39 |
40 public int opApply (int delegate(ref Object value) dg){ | |
41 foreach( entry; entrySet() ){ | |
42 auto me = cast(Map.Entry)entry; | |
43 auto v = me.getValue(); | |
44 int res = dg( v ); | |
45 if( res ) return res; | |
46 } | |
47 return 0; | |
48 } | |
49 public int opApply (int delegate(ref Object key, ref Object value) dg){ | |
50 foreach( entry; entrySet() ){ | |
51 auto me = cast(Map.Entry)entry; | |
52 auto k = me.getKey(); | |
53 auto v = me.getValue(); | |
54 int res = dg( k, v ); | |
55 if( res ) return res; | |
56 } | |
57 return 0; | |
58 } | |
59 | |
40 /** | 60 /** |
41 * @param delegate | 61 * @param delegate_ |
42 * @param observed | 62 * @param observed |
43 * @param propertyDescriptor | 63 * @param propertyDescriptor |
44 */ | 64 */ |
45 public this(IObservableMap delegate, | 65 public this(IObservableMap delegate_, |
46 Object observed, | 66 Object observed, |
47 PropertyDescriptor propertyDescriptor) { | 67 PropertyDescriptor propertyDescriptor) { |
48 | 68 |
49 this.delegate = delegate; | 69 this.delegate_ = delegate_; |
50 this.observed = observed; | 70 this.observed = observed; |
51 this.propertyDescriptor = propertyDescriptor; | 71 this.propertyDescriptor = propertyDescriptor; |
52 } | 72 } |
53 | 73 |
54 public Realm getRealm() { | 74 public Realm getRealm() { |
55 return delegate.getRealm(); | 75 return delegate_.getRealm(); |
56 } | 76 } |
57 | 77 |
58 public bool isStale() { | 78 public bool isStale() { |
59 return delegate.isStale(); | 79 return delegate_.isStale(); |
60 } | 80 } |
61 | 81 |
82 bool containsKey(String key){ | |
83 return containsKey(stringcast(key)); | |
84 } | |
62 public bool containsKey(Object key) { | 85 public bool containsKey(Object key) { |
63 return delegate.containsKey(key); | 86 return delegate_.containsKey(key); |
64 } | 87 } |
65 | 88 |
66 public bool containsValue(Object value) { | 89 public bool containsValue(Object value) { |
67 return delegate.containsValue(value); | 90 return delegate_.containsValue(value); |
68 } | 91 } |
69 | 92 |
70 public Set entrySet() { | 93 public Set entrySet() { |
71 return delegate.entrySet(); | 94 return delegate_.entrySet(); |
72 } | 95 } |
73 | 96 |
97 Object get(String key){ | |
98 return get(stringcast(key)); | |
99 } | |
74 public Object get(Object key) { | 100 public Object get(Object key) { |
75 return delegate.get(key); | 101 return delegate_.get(key); |
76 } | 102 } |
77 | 103 |
78 public Set keySet() { | 104 public Set keySet() { |
79 return delegate.keySet(); | 105 return delegate_.keySet(); |
80 } | 106 } |
81 | 107 |
108 Object put(String key, String value){ | |
109 return put(stringcast(key),stringcast(value)); | |
110 } | |
111 Object put(Object key, String value){ | |
112 return put(key,stringcast(value)); | |
113 } | |
114 Object put(String key, Object value){ | |
115 return put(stringcast(key),value); | |
116 } | |
82 public Object put(Object key, Object value) { | 117 public Object put(Object key, Object value) { |
83 return delegate.put(key, value); | 118 return delegate_.put(key, value); |
84 } | 119 } |
85 | 120 |
121 Object remove(String key){ | |
122 return remove(stringcast(key)); | |
123 } | |
86 public Object remove(Object key) { | 124 public Object remove(Object key) { |
87 return delegate.remove(key); | 125 return delegate_.remove(key); |
88 } | 126 } |
89 | 127 |
90 public Collection values() { | 128 public Collection values() { |
91 return delegate.values(); | 129 return delegate_.values(); |
92 } | 130 } |
93 | 131 |
94 public void putAll(Map map) { | 132 public void putAll(Map map) { |
95 delegate.putAll(map); | 133 delegate_.putAll(map); |
96 } | 134 } |
97 | 135 |
98 public void clear() { | 136 public void clear() { |
99 delegate.clear(); | 137 delegate_.clear(); |
100 } | 138 } |
101 | 139 |
102 public bool isEmpty() { | 140 public bool isEmpty() { |
103 return delegate.isEmpty(); | 141 return delegate_.isEmpty(); |
104 } | 142 } |
105 | 143 |
106 public int size() { | 144 public int size() { |
107 return delegate.size(); | 145 return delegate_.size(); |
108 } | 146 } |
109 | 147 |
110 public Object getObserved() { | 148 public Object getObserved() { |
111 return observed; | 149 return observed; |
112 } | 150 } |
117 | 155 |
118 /** | 156 /** |
119 * @return the wrapped map | 157 * @return the wrapped map |
120 */ | 158 */ |
121 public IObservableMap getDelegate() { | 159 public IObservableMap getDelegate() { |
122 return delegate; | 160 return delegate_; |
123 } | 161 } |
124 public void dispose() { | 162 public void dispose() { |
125 delegate.dispose(); | 163 delegate_.dispose(); |
126 } | 164 } |
127 | 165 |
128 public void addChangeListener(IChangeListener listener) { | 166 public void addChangeListener(IChangeListener listener) { |
129 delegate.addChangeListener(listener); | 167 delegate_.addChangeListener(listener); |
130 } | 168 } |
131 | 169 |
132 public void removeChangeListener(IChangeListener listener) { | 170 public void removeChangeListener(IChangeListener listener) { |
133 delegate.removeChangeListener(listener); | 171 delegate_.removeChangeListener(listener); |
134 } | 172 } |
135 | 173 |
136 public void addMapChangeListener(IMapChangeListener listener) { | 174 public void addMapChangeListener(IMapChangeListener listener) { |
137 delegate.addMapChangeListener(listener); | 175 delegate_.addMapChangeListener(listener); |
138 } | 176 } |
139 | 177 |
140 public void removeMapChangeListener(IMapChangeListener listener) { | 178 public void removeMapChangeListener(IMapChangeListener listener) { |
141 delegate.removeMapChangeListener(listener); | 179 delegate_.removeMapChangeListener(listener); |
142 } | 180 } |
143 | 181 |
144 public void addStaleListener(IStaleListener listener) { | 182 public void addStaleListener(IStaleListener listener) { |
145 delegate.addStaleListener(listener); | 183 delegate_.addStaleListener(listener); |
146 } | 184 } |
147 | 185 |
148 public void removeStaleListener(IStaleListener listener) { | 186 public void removeStaleListener(IStaleListener listener) { |
149 delegate.removeStaleListener(listener); | 187 delegate_.removeStaleListener(listener); |
150 } | 188 } |
151 | 189 |
152 public override equals_t opEquals(Object obj) { | 190 public override equals_t opEquals(Object obj) { |
153 if (obj is this) | 191 if (obj is this) |
154 return true; | 192 return true; |
155 if (obj is null) | 193 if (obj is null) |
156 return false; | 194 return false; |
157 if (getClass() is obj.getClass()) { | 195 if (Class.fromObject(this) is Class.fromObject(obj)) { |
158 BeanObservableMapDecorator other = cast(BeanObservableMapDecorator) obj; | 196 BeanObservableMapDecorator other = cast(BeanObservableMapDecorator) obj; |
159 return Util.equals(other.delegate, delegate); | 197 return Util.equals(cast(Object)other.delegate_, cast(Object)delegate_); |
160 } | 198 } |
161 return delegate.equals(obj); | 199 return (cast(Object)delegate_).opEquals(obj); |
162 } | 200 } |
163 | 201 |
164 public override hash_t toHash() { | 202 public override hash_t toHash() { |
165 return delegate.hashCode(); | 203 return (cast(Object)delegate_).toHash(); |
166 } | 204 } |
167 } | 205 } |