org.zkoss.util
Class NotableLinkedList<E>

java.lang.Object
  extended by java.util.AbstractCollection<E>
      extended by java.util.AbstractList<E>
          extended by java.util.AbstractSequentialList<E>
              extended by org.zkoss.util.NotableLinkedList<E>
All Implemented Interfaces:
Serializable, Cloneable, Iterable<E>, Collection<E>, List<E>
Direct Known Subclasses:
AbstractGroup.ChildArray, Document.ChildArray, Element.AttrArray

public class NotableLinkedList<E>
extends AbstractSequentialList<E>
implements List<E>, Cloneable, Serializable

Linked list implementation of the List interface that provides the callback methods such as onAdd(E, E), onSet(E, E) and onRemove(E).

Since:
5.0.8
Author:
tomyeh
See Also:
Serialized Form

Field Summary
 
Fields inherited from class java.util.AbstractList
modCount
 
Constructor Summary
NotableLinkedList()
           
 
Method Summary
 ListIterator<E> listIterator(int index)
           
protected  void onAdd(E newElement, E followingElement)
          Called each time an new element is about being added into the array.
protected  void onRemove(E element)
          Called each time an element is about being removed from the array.
protected  void onSet(E newElement, E replaced)
          Called each time an element is about being assigned into the array and replace an existence one (by ListIterator.set).
 int size()
           
 
Methods inherited from class java.util.AbstractSequentialList
add, addAll, get, iterator, remove, set
 
Methods inherited from class java.util.AbstractList
add, clear, equals, hashCode, indexOf, lastIndexOf, listIterator, removeRange, subList
 
Methods inherited from class java.util.AbstractCollection
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.List
add, add, addAll, addAll, clear, contains, containsAll, equals, get, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, remove, remove, removeAll, retainAll, set, subList, toArray, toArray
 

Constructor Detail

NotableLinkedList

public NotableLinkedList()
Method Detail

size

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

listIterator

public ListIterator<E> listIterator(int index)
Specified by:
listIterator in interface List<E>
Specified by:
listIterator in class AbstractSequentialList<E>

onAdd

protected void onAdd(E newElement,
                     E followingElement)
Called each time an new element is about being added into the array.

Deriving classes usually put checking codes here. And, throws exception if failure and nothing will be affected.

Parameters:
newElement - the element to be added
followingElement - the elment that will 'follow' the new element. In other words, newElement will be inserted before followingElement. If null, it means newElement is appended at the end

onSet

protected void onSet(E newElement,
                     E replaced)
Called each time an element is about being assigned into the array and replace an existence one (by ListIterator.set).

Deriving classes usually put checking codes here. And, throws exception if failure and nothing will be affected.

Parameters:
newElement - the element to be added
replaced - the element to be replaced

onRemove

protected void onRemove(E element)
Called each time an element is about being removed from the array. Deriving classes usually put checking codes here. And, throws exception if failure.



Copyright © 2011. All Rights Reserved.