Class IntersectionObservableList<T>

java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractList<E>
javafx.collections.ObservableListBase<T>
com.iamsoft.util.ui.javafx.collections.IntersectionObservableList<T>
Type Parameters:
T - Type of item contained within list.
All Implemented Interfaces:
Iterable<T>, Collection<T>, List<T>, javafx.beans.Observable, javafx.collections.ObservableList<T>

public class IntersectionObservableList<T> extends javafx.collections.ObservableListBase<T>
List comprising intersection of zero to many child lists. Note that list is not updated until component list events are processed. Thus, listeners to component list cannot assume that intersection list is valid.
  • Constructor Details

    • IntersectionObservableList

      public IntersectionObservableList(javafx.collections.ObservableList<javafx.collections.ObservableList<? extends T>> pComponentLists)
      Parameters:
      pComponentLists - Lists tested for intersection.
  • Method Details

    • size

      public int size()
      Specified by:
      size in interface Collection<T>
      Specified by:
      size in interface List<T>
      Specified by:
      size in class AbstractCollection<T>
    • get

      public T get(int pIdx)
      Specified by:
      get in interface List<T>
      Specified by:
      get in class AbstractList<T>
    • processDeltas

      protected void processDeltas(Map<T,Integer> pCntDelta)
      Mutate mDelegate and fire events.
      Parameters:
      pCntDelta - Map from item to the number of times it should be added to or removed from mDelegate.
    • nullToZero

      protected static int nullToZero(Integer pVal)
    • zeroToNull

      protected static Integer zeroToNull(Integer pVal)