Module javafx.base
Package javafx.collections

## Class ObservableArrayBase<T extends ObservableArray<T>>

- java.lang.Object
- - javafx.collections.ObservableArrayBase<T>

- Type Parameters:
    `T` - actual array instance type
  All Implemented Interfaces:
    `Observable`, `ObservableArray<T>`

      public abstract class ObservableArrayBase<T extends ObservableArray<T>>
      extends Object
      implements ObservableArray<T>

  Abstract class that serves as a base class for `ObservableArray` implementations. The base class provides listener handling functionality by implementing `addListener` and `removeListener` methods. `fireChange(boolean, int, int)` method is provided for notifying the listeners.
  Since:
    JavaFX 8.0
  See Also:
    `ObservableArray`, `ArrayChangeListener`

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ObservableArrayBase()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addListener​(InvalidationListener listener)` | Adds an `InvalidationListener` which will be notified whenever the `Observable` becomes invalid.
    `void` | `addListener​(ArrayChangeListener<T> listener)` | Add a listener to this observable array.
    `protected void` | `fireChange​(boolean sizeChanged, int from, int to)` | Notifies all listeners of a change
    `void` | `removeListener​(InvalidationListener listener)` | Removes the given listener from the list of listeners, that are notified whenever the value of the `Observable` becomes invalid.
    `void` | `removeListener​(ArrayChangeListener<T> listener)` | Tries to remove a listener from this observable array.

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

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

    - ### Methods inherited from interface javafx.collections.ObservableArray

      `clear, ensureCapacity, resize, size, trimToSize`

- - ### Constructor Detail

    - #### ObservableArrayBase

          public ObservableArrayBase()

  - ### Method Detail

    - #### addListener

          public final void addListener​(InvalidationListener listener)

      Description copied from interface: `Observable`
      Adds an `InvalidationListener` which will be notified whenever the `Observable` becomes invalid. If the same listener is added more than once, then it will be notified more than once. That is, no check is made to ensure uniqueness.

      Note that the same actual `InvalidationListener` instance may be safely registered for different `Observables`.

      The `Observable` stores a strong reference to the listener which will prevent the listener from being garbage collected and may result in a memory leak. It is recommended to either unregister a listener by calling `removeListener` after use or to use an instance of `WeakInvalidationListener` avoid this situation.

      Specified by:
        `addListener` in interface `Observable`
      Parameters:
        `listener` - The listener to register
      See Also:
        `Observable.removeListener(InvalidationListener)`

    - #### removeListener

          public final void removeListener​(InvalidationListener listener)

      Description copied from interface: `Observable`
      Removes the given listener from the list of listeners, that are notified whenever the value of the `Observable` becomes invalid.

      If the given listener has not been previously registered (i.e. it was never added) then this method call is a no-op. If it had been previously added then it will be removed. If it had been added more than once, then only the first occurrence will be removed.

      Specified by:
        `removeListener` in interface `Observable`
      Parameters:
        `listener` - The listener to remove
      See Also:
        `Observable.addListener(InvalidationListener)`

    - #### addListener

          public final void addListener​(ArrayChangeListener<T> listener)

      Description copied from interface: `ObservableArray`
      Add a listener to this observable array.
      Specified by:
        `addListener` in interface `ObservableArray<T extends ObservableArray<T>>`
      Parameters:
        `listener` - the listener for listening to the array changes

    - #### removeListener

          public final void removeListener​(ArrayChangeListener<T> listener)

      Description copied from interface: `ObservableArray`
      Tries to remove a listener from this observable array. If the listener is not attached to this array, nothing happens.
      Specified by:
        `removeListener` in interface `ObservableArray<T extends ObservableArray<T>>`
      Parameters:
        `listener` - a listener to remove

    - #### fireChange

          protected final void fireChange​(boolean sizeChanged,
                                          int from,
                                          int to)

      Notifies all listeners of a change
      Parameters:
        `sizeChanged` - indicates size of array changed
        `from` - A beginning (inclusive) of an interval related to the change
        `to` - An end (exclusive) of an interval related to the change.