Class ListDiffVisitor<E>

java.lang.Object
org.eclipse.core.databinding.observable.list.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:
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract void
    handleAdd(int index, E element)
    Notifies the visitor that element was added to the list at position index.
    void
    handleMove(int oldIndex, int newIndex, E element)
    Notifies the visitor that element was moved in the list from position oldIndex to position newIndex.
    abstract void
    handleRemove(int index, E element)
    Notifies the visitor that element was removed from the list at position index.
    void
    handleReplace(int index, E oldElement, E newElement)
    Notifies the visitor that oldElement, located at position index in the list, was replaced by newElement.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ListDiffVisitor

      public ListDiffVisitor()
  • Method Details

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