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:
  • Constructor Details

    • ObservableArrayBase

      public ObservableArrayBase()
      Creates a default ObservableArrayBase.
  • Method Details

    • 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:
    • 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:
    • 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.