Class ListDiffVisitor<E>

  • Type Parameters:
    E - the type of the elements in the list

    public abstract class ListDiffVisitor<E>
    extends Object
    A visitor for processing differences in a ListDiff.
    Since:
    1.1
    See Also:
    ListDiff.accept(ListDiffVisitor)
    • Constructor Detail

      • ListDiffVisitor

        public ListDiffVisitor()
    • Method Detail

      • handleAdd

        public abstract void handleAdd​(int index,
                                       E element)
        Notifies the visitor that element was added to the list at position index.
        Parameters:
        index - the index where the element was added
        element - the element that was added
      • handleRemove

        public abstract void handleRemove​(int index,
                                          E element)
        Notifies the visitor that element was removed from the list at position index.
        Parameters:
        index - the index where the element was removed
        element - the element that was removed
      • handleMove

        public void handleMove​(int oldIndex,
                               int newIndex,
                               E element)
        Notifies the visitor that element was moved in the list from position oldIndex to position newIndex.

        The default implementation of this method calls handleRemove(int, Object) with the old position, then handleAdd(int, Object) with the new position. Clients which are interested in recognizing "moves" in a list (i.e. calls to IObservableList.move(int, int)) should override this method.

        Parameters:
        oldIndex - the index that the element was moved from.
        newIndex - the index that the element was moved to.
        element - the element that was moved
        See Also:
        IObservableList.move(int, int)
      • handleReplace

        public void handleReplace​(int index,
                                  E oldElement,
                                  E newElement)
        Notifies the visitor that oldElement, located at position index in the list, was replaced by newElement.

        The default implementation of this method calls handleRemove(int, Object) with the old element, then handleAdd(int, Object) with the new element. Clients which are interested in recognizing "replaces" in a list (i.e. calls to List.set(int, Object)) should override this method.

        Parameters:
        index - the index where the element was replaced.
        oldElement - the element being replaced.
        newElement - the element that replaced oldElement.
        See Also:
        List.set(int, Object)