Module javafx.base
Package javafx.collections

## Class WeakListChangeListener<E>

- java.lang.Object
- - javafx.collections.WeakListChangeListener<E>

- Type Parameters:
    `E` - The type of the observed value
  All Implemented Interfaces:
    `WeakListener`, `ListChangeListener<E>`

      public final class WeakListChangeListener<E>
      extends Object
      implements ListChangeListener<E>, WeakListener

  A `WeakListChangeListener` can be used, if an `ObservableList` should only maintain a weak reference to the listener. This helps to avoid memory leaks, that can occur if observers are not unregistered from observed objects after use.

  `WeakListChangeListener` are created by passing in the original `ListChangeListener`. The `WeakListChangeListener` should then be registered to listen for changes of the observed object.

  Note: You have to keep a reference to the `ListChangeListener`, that was passed in as long as it is in use, otherwise it will be garbage collected to soon.

  Since:
    JavaFX 2.1
  See Also:
    `ListChangeListener`, `ObservableList`, `WeakListener`

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface javafx.collections.ListChangeListener

      `ListChangeListener.Change<E>`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `WeakListChangeListener​(ListChangeListener<E> listener)` | The constructor of `WeakListChangeListener`.

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `onChanged​(ListChangeListener.Change<? extends E> change)` | Called after a change has been made to an ObservableList.
    `boolean` | `wasGarbageCollected()` | Returns `true` if the linked listener was garbage-collected.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### WeakListChangeListener

          public WeakListChangeListener​(ListChangeListener<E> listener)

      The constructor of `WeakListChangeListener`.
      Parameters:
        `listener` - The original listener that should be notified

  - ### Method Detail

    - #### wasGarbageCollected

          public boolean wasGarbageCollected()

      Returns `true` if the linked listener was garbage-collected. In this case, the listener can be removed from the observable.
      Specified by:
        `wasGarbageCollected` in interface `WeakListener`
      Returns:
        `true` if the linked listener was garbage-collected.

    - #### onChanged

          public void onChanged​(ListChangeListener.Change<? extends E> change)

      Called after a change has been made to an ObservableList.
      Specified by:
        `onChanged` in interface `ListChangeListener<E>`
      Parameters:
        `change` - an object representing the change that was done
      See Also:
        `ListChangeListener.Change`