public class WeakPropertyChangeListener
extends java.lang.Object
implements java.beans.PropertyChangeListener
If the original listener is garbage collected, this property change listener is just doing nothing. Note that although the referenced listener and everything what is attached to it might be released, this listener is still attached to all classes it was added as a property change listener, because it has no chance to know where it was added, so it cannot remove itself.
Constructor and Description |
---|
WeakPropertyChangeListener(java.beans.PropertyChangeListener wrapped)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
boolean |
isValid()
Is this listener still valid?
|
void |
propertyChange(java.beans.PropertyChangeEvent evt)
This method gets called when a bound property is changed.
|
static void |
removeWeakPropertyListener(java.beans.PropertyChangeSupport support,
java.beans.PropertyChangeListener listener)
Remove a weak property change listener from a property change support.
|
static void |
removeWeakPropertyListener(java.beans.PropertyChangeSupport support,
java.lang.String propertyName,
java.beans.PropertyChangeListener listener)
Remove a weak property change listener listening for a special property from a property change support.
|
public WeakPropertyChangeListener(@NotNull java.beans.PropertyChangeListener wrapped)
wrapped
- listener to wrap, which is only hold via a weak referencepublic void propertyChange(java.beans.PropertyChangeEvent evt)
propertyChange
in interface java.beans.PropertyChangeListener
evt
- A PropertyChangeEvent object describing the event source
and the property that has changed.public boolean isValid()
true
if the reference is still availablefalse
if it is no longer availablepublic static void removeWeakPropertyListener(@NotNull java.beans.PropertyChangeSupport support, @NotNull java.beans.PropertyChangeListener listener)
support
- property change supportlistener
- original listener wrapped by the weak listenerpublic static void removeWeakPropertyListener(@NotNull java.beans.PropertyChangeSupport support, @NotNull java.lang.String propertyName, @NotNull java.beans.PropertyChangeListener listener)
support
- property change supportpropertyName
- property namelistener
- original listener wrapped by the weak listener