This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

View | Details | Raw Unified | Return to bug 18458
Collapse All | Expand All

(-)WeakListener.java (-1 / +23 lines)
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

Return to bug 18458