Module javafx.base

Class FilteredList<E>

All Implemented Interfaces:
Iterable<E>, Collection<E>, List<E>, Observable, ObservableList<E>

public final class FilteredList<E>
extends TransformationList<E,​E>
Wraps an ObservableList and filters its content using the provided Predicate. All changes in the ObservableList are propagated immediately to the FilteredList.
Since:
JavaFX 8.0
See Also:
TransformationList
  • Property Details

  • Constructor Details

    • FilteredList

      public FilteredList​(ObservableList<E> source, Predicate<? super E> predicate)
      Constructs a new FilteredList wrapper around the source list. The provided predicate will match the elements in the source list that will be visible. If the predicate is null, all elements will be matched and the list is equal to the source list.
      Parameters:
      source - the source list
      predicate - the predicate to match the elements or null to match all elements.
    • FilteredList

      public FilteredList​(ObservableList<E> source)
      Constructs a new FilteredList wrapper around the source list. This list has an "always true" predicate, containing all the elements of the source list.

      This constructor might be useful if you want to bind predicateProperty() of this list.

      Parameters:
      source - the source list
  • Method Details

    • predicateProperty

      public final ObjectProperty<Predicate<? super E>> predicateProperty()
      The predicate that will match the elements that will be in this FilteredList. Elements not matching the predicate will be filtered-out. Null predicate means "always true" predicate, all elements will be matched.
      See Also:
      getPredicate(), setPredicate(Predicate)
    • getPredicate

      public final Predicate<? super E> getPredicate()
      Gets the value of the property predicate.
      Property description:
      The predicate that will match the elements that will be in this FilteredList. Elements not matching the predicate will be filtered-out. Null predicate means "always true" predicate, all elements will be matched.
    • setPredicate

      public final void setPredicate​(Predicate<? super E> predicate)
      Sets the value of the property predicate.
      Property description:
      The predicate that will match the elements that will be in this FilteredList. Elements not matching the predicate will be filtered-out. Null predicate means "always true" predicate, all elements will be matched.
    • sourceChanged

      protected void sourceChanged​(ListChangeListener.Change<? extends E> c)
      Description copied from class: TransformationList
      Called when a change from the source is triggered.
      Specified by:
      sourceChanged in class TransformationList<E,​E>
      Parameters:
      c - the change
    • size

      public int size()
      Returns the number of elements in this list.
      Specified by:
      size in interface Collection<E>
      Specified by:
      size in interface List<E>
      Specified by:
      size in class AbstractCollection<E>
      Returns:
      the number of elements in this list
    • get

      public E get​(int index)
      Returns the element at the specified position in this list.
      Specified by:
      get in interface List<E>
      Specified by:
      get in class AbstractList<E>
      Parameters:
      index - index of the element to return
      Returns:
      the element at the specified position in this list
      Throws:
      IndexOutOfBoundsException
    • getSourceIndex

      public int getSourceIndex​(int index)
      Description copied from class: TransformationList
      Maps the index of this list's element to an index in the direct source list.
      Specified by:
      getSourceIndex in class TransformationList<E,​E>
      Parameters:
      index - the index in this list
      Returns:
      the index of the element's origin in the source list
      See Also:
      TransformationList.getSource()
    • getViewIndex

      public int getViewIndex​(int index)
      Description copied from class: TransformationList
      Maps the index of the direct source list's element to an index in this list.
      Specified by:
      getViewIndex in class TransformationList<E,​E>
      Parameters:
      index - the index in the source list
      Returns:
      the index of the element in this list if it is contained in this list or negative value otherwise
      See Also:
      TransformationList.getSource(), TransformationList.getSourceIndex(int)