org.zkoss.util
Class CheckableTreeArray

java.lang.Object
  extended by java.util.AbstractCollection
      extended by java.util.AbstractList
          extended by org.zkoss.util.TreeArray
              extended by org.zkoss.util.CheckableTreeArray
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.Iterable, java.util.Collection, java.util.List, ListX
Direct Known Subclasses:
AbstractGroup.ChildArray, Document.ChildArray, Element.AttrArray

public abstract class CheckableTreeArray
extends TreeArray

The checkable TreeArray. It extends TreeArray such that deriving classes could add validation when an element is added, removed or set. It is also useful to maintain the modification flag.

Author:
tomyeh
See Also:
Serialized Form

Nested Class Summary
protected  class CheckableTreeArray.CkEntry
           
 
Nested classes/interfaces inherited from class org.zkoss.util.TreeArray
TreeArray.RbEntry
 
Nested classes/interfaces inherited from interface org.zkoss.util.ListX
ListX.Entry
 
Field Summary
 
Fields inherited from class org.zkoss.util.TreeArray
_hashCode, _root, _size, BLACK, RED
 
Fields inherited from class java.util.AbstractList
modCount
 
Constructor Summary
protected CheckableTreeArray()
           
protected CheckableTreeArray(java.util.Collection c)
           
 
Method Summary
 void clear()
          Clears the whole list.
protected  void delete(TreeArray.RbEntry p)
          All remove methods are done thru this method.
protected  TreeArray.RbEntry insert(TreeArray.RbEntry insertBefore, TreeArray.RbEntry p)
          All add methods are done thru this method.
protected  TreeArray.RbEntry newEntry(java.lang.Object element)
          Creates an instance of RbEntry.
protected  void onAdd(java.lang.Object newElement, java.lang.Object followingElement)
          Called each time an new element is about being added into the array.
protected  void onRemove(java.lang.Object element)
          Called each time an element is about being removed from the array.
protected  void onSet(java.lang.Object newElement, java.lang.Object replaced)
          Called each time an element is about being assigned into the array and replace an existence one (by ListIterator.set).
 
Methods inherited from class org.zkoss.util.TreeArray
add, addAllByOrder, addAllByOrder, addByOrder, addByOrder, addEntry, addEntry, addEntry, checkNotOrphan, checkRange, checkRangePlus, clone, decSize, delete, entryIterator, entryIterator, first, get, getByOrder, getByOrder, getEntry, getRbEntry, hashCode, incSize, indexOfEntry, indexOfEntry, indexOutOfBounds, insert, iterator, listIterator, remove, removeByOrder, removeByOrder, removeEntry, removeEntry, search, search, set, size, sort, sort
 
Methods inherited from class java.util.AbstractList
add, addAll, equals, 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
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.List
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray
 

Constructor Detail

CheckableTreeArray

protected CheckableTreeArray()

CheckableTreeArray

protected CheckableTreeArray(java.util.Collection c)
Method Detail

onAdd

protected void onAdd(java.lang.Object newElement,
                     java.lang.Object 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(java.lang.Object newElement,
                     java.lang.Object 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(java.lang.Object 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.


newEntry

protected TreeArray.RbEntry newEntry(java.lang.Object element)
Description copied from class: TreeArray
Creates an instance of RbEntry. Override it if necessary

Overrides:
newEntry in class TreeArray

insert

protected TreeArray.RbEntry insert(TreeArray.RbEntry insertBefore,
                                   TreeArray.RbEntry p)
Description copied from class: TreeArray
All add methods are done thru this method. Override it if necessary.

Note: p is inserted before insertBefore.

Overrides:
insert in class TreeArray

delete

protected void delete(TreeArray.RbEntry p)
Description copied from class: TreeArray
All remove methods are done thru this method. Override it if necessary.

Overrides:
delete in class TreeArray

clear

public void clear()
Description copied from class: TreeArray
Clears the whole list. Overrides it if the derived class has other data to clear. Note it doesn't call removeEx.

Note clear actually invokes RbEntry.clear to do the real cleanup. Deriving classes might override RbEntry.clear.

Specified by:
clear in interface java.util.Collection
Specified by:
clear in interface java.util.List
Overrides:
clear in class TreeArray


Copyright © 2005-2009 Potix Corporation. All Rights Reserved. SourceForge.net Logo