Mercurial > projects > dwt2
comparison org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/beans/JavaBeanObservableSet.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 | c86eb8b3098e |
children |
comparison
equal
deleted
inserted
replaced
97:c86eb8b3098e | 98:48d4ee626868 |
---|---|
73 super(realm, new HashSet(), elementType); | 73 super(realm, new HashSet(), elementType); |
74 this.object = object; | 74 this.object = object; |
75 this.descriptor = descriptor; | 75 this.descriptor = descriptor; |
76 if (attachListeners) { | 76 if (attachListeners) { |
77 PropertyChangeListener listener = new class() PropertyChangeListener { | 77 PropertyChangeListener listener = new class() PropertyChangeListener { |
78 public void propertyChange(java.beans.PropertyChangeEvent event) { | 78 public void propertyChange(java.beans.PropertyChangeEvent.PropertyChangeEvent event) { |
79 if (!updating) { | 79 if (!updating) { |
80 getRealm().exec(new class() Runnable { | 80 getRealm().exec(new class() Runnable { |
81 public void run() { | 81 public void run() { |
82 Set newElements = new HashSet(Arrays | 82 Set newElements = new HashSet(Arrays |
83 .asList(getValues())); | 83 .asList(getValues())); |
122 private Object[] getValues() { | 122 private Object[] getValues() { |
123 Object[] values = null; | 123 Object[] values = null; |
124 | 124 |
125 Object result = primGetValues(); | 125 Object result = primGetValues(); |
126 if (descriptor.getPropertyType().isArray()) | 126 if (descriptor.getPropertyType().isArray()) |
127 values = cast(Object[]) result; | 127 values = arrayFromObject!(Object)( result ); |
128 else { | 128 else { |
129 // TODO add jUnit for POJO (var. SettableValue) collections | 129 // TODO add jUnit for POJO (var. SettableValue) collections |
130 Collection list = cast(Collection) result; | 130 Collection list = cast(Collection) result; |
131 if (list !is null) | 131 if (list !is null) |
132 values = list.toArray(); | 132 values = list.toArray(); |
138 | 138 |
139 private void setValues() { | 139 private void setValues() { |
140 if (descriptor.getPropertyType().isArray()) { | 140 if (descriptor.getPropertyType().isArray()) { |
141 Class componentType = descriptor.getPropertyType() | 141 Class componentType = descriptor.getPropertyType() |
142 .getComponentType(); | 142 .getComponentType(); |
143 Object[] newArray = cast(Object[]) Array.newInstance(componentType, | 143 Object[] newArray = arrayFromObject!(Object)(Array.newInstance(componentType, |
144 wrappedSet.size()); | 144 wrappedSet.size())); |
145 wrappedSet.toArray(newArray); | 145 wrappedSet.toArray(newArray); |
146 primSetValues(newArray); | 146 primSetValues(new ArrayWrapperObject(newArray)); |
147 } else { | 147 } else { |
148 // assume that it is a java.util.Set | 148 // assume that it is a java.util.Set |
149 primSetValues(new HashSet(wrappedSet)); | 149 primSetValues(new HashSet(wrappedSet)); |
150 } | 150 } |
151 } | 151 } |
271 try { | 271 try { |
272 Method writeMethod = descriptor.getWriteMethod(); | 272 Method writeMethod = descriptor.getWriteMethod(); |
273 if (!writeMethod.isAccessible()) { | 273 if (!writeMethod.isAccessible()) { |
274 writeMethod.setAccessible(true); | 274 writeMethod.setAccessible(true); |
275 } | 275 } |
276 writeMethod.invoke(object, new Object[] { newValue }); | 276 writeMethod.invoke(object, [ newValue ]); |
277 return; | 277 return; |
278 } catch (IllegalArgumentException e) { | 278 } catch (IllegalArgumentException e) { |
279 ex = e; | 279 ex = e; |
280 } catch (IllegalAccessException e) { | 280 } catch (IllegalAccessException e) { |
281 ex = e; | 281 ex = e; |