Lines 51-57
Link Here
|
51 |
private static ErrorManager errorManager; |
51 |
private static ErrorManager errorManager; |
52 |
|
52 |
|
53 |
/** weak reference to listener */ |
53 |
/** weak reference to listener */ |
54 |
private Reference ref; |
54 |
Reference ref; |
55 |
/** class of the listener */ |
55 |
/** class of the listener */ |
56 |
Class listenerClass; |
56 |
Class listenerClass; |
57 |
/** weak reference to source */ |
57 |
/** weak reference to source */ |
Lines 301-311
Link Here
|
301 |
*/ |
301 |
*/ |
302 |
public static class PropertyChange extends WeakListener |
302 |
public static class PropertyChange extends WeakListener |
303 |
implements PropertyChangeListener { |
303 |
implements PropertyChangeListener { |
|
|
304 |
|
305 |
private final int hashCode; |
306 |
|
304 |
/** Constructor. |
307 |
/** Constructor. |
305 |
* @param l listener to delegate to |
308 |
* @param l listener to delegate to |
306 |
*/ |
309 |
*/ |
307 |
public PropertyChange (PropertyChangeListener l) { |
310 |
public PropertyChange (PropertyChangeListener l) { |
308 |
super (PropertyChangeListener.class, l); |
311 |
super (PropertyChangeListener.class, l); |
|
|
312 |
this.hashCode = l.hashCode(); |
309 |
} |
313 |
} |
310 |
|
314 |
|
311 |
/** Constructor. |
315 |
/** Constructor. |
Lines 314-319
Link Here
|
314 |
*/ |
318 |
*/ |
315 |
PropertyChange (Class clazz, PropertyChangeListener l) { |
319 |
PropertyChange (Class clazz, PropertyChangeListener l) { |
316 |
super (clazz, l); |
320 |
super (clazz, l); |
|
|
321 |
this.hashCode = l.hashCode(); |
317 |
} |
322 |
} |
318 |
|
323 |
|
319 |
/** Tests if the object we reference to still exists and |
324 |
/** Tests if the object we reference to still exists and |
Lines 331-336
Link Here
|
331 |
*/ |
336 |
*/ |
332 |
protected String removeMethodName () { |
337 |
protected String removeMethodName () { |
333 |
return "removePropertyChangeListener"; // NOI18N |
338 |
return "removePropertyChangeListener"; // NOI18N |
|
|
339 |
} |
340 |
|
341 |
/** |
342 |
* Extended equals, intances are also equal for same peer listeners. |
343 |
*/ |
344 |
public boolean equals(Object obj) { |
345 |
if (obj == this) return true; |
346 |
if (obj instanceof PropertyChange) { |
347 |
if (((PropertyChange)obj).ref.get() == this.ref.get()) { |
348 |
return true; |
349 |
} |
350 |
} |
351 |
return false; |
352 |
} |
353 |
|
354 |
public int hashCode() { |
355 |
return hashCode; |
334 |
} |
356 |
} |
335 |
} |
357 |
} |
336 |
|
358 |
|