org.apache.ojb.broker.util.collections
Class RemovalAwareList

java.lang.Object
  extended by java.util.AbstractCollection<E>
      extended by java.util.AbstractList<E>
          extended by java.util.ArrayList
              extended by org.apache.ojb.broker.util.collections.ManageableArrayList
                  extended by org.apache.ojb.broker.util.collections.RemovalAwareList
All Implemented Interfaces:
Serializable, Cloneable, Iterable, Collection, List, RandomAccess, ManageableCollection, IRemovalAwareCollection

public class RemovalAwareList
extends ManageableArrayList
implements IRemovalAwareCollection

This is a list that tracks removal and addition of elements. This tracking allow the PersistenceBroker to delete elements from the database that have been removed from the collection before a PB.store() orperation occurs. This will allow to use the PB api in way pretty close to ODMG persistent collections!

Version:
$Id: RemovalAwareList.java,v 1.1 2007-08-24 22:17:39 ewestfal Exp $
Author:
Thomas Mahler, adapted to ManageableArrayList by Edson C. E. Richter
See Also:
Serialized Form

Field Summary
 
Fields inherited from class java.util.AbstractList
modCount
 
Constructor Summary
RemovalAwareList()
           
 
Method Summary
 void afterStore(PersistenceBroker broker)
          A callback method to implement 'removal-aware' (track removed objects and delete them by its own) collection implementations.
 void clear()
           
protected  void registerForDeletion(Object toBeRemoved)
           
 Object remove(int index)
           
 boolean remove(Object o)
           
 void removeAllElements()
           
 void removeElementAt(int index)
           
protected  void removeRange(int fromIndex, int toIndex)
           
 void resetDeleted()
           
 
Methods inherited from class org.apache.ojb.broker.util.collections.ManageableArrayList
ojbAdd, ojbAddAll, ojbIterator
 
Methods inherited from class java.util.ArrayList
add, add, addAll, addAll, clone, contains, ensureCapacity, get, indexOf, isEmpty, lastIndexOf, set, size, toArray, toArray, trimToSize
 
Methods inherited from class java.util.AbstractList
equals, hashCode, iterator, listIterator, listIterator, subList
 
Methods inherited from class java.util.AbstractCollection
containsAll, removeAll, retainAll, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.List
containsAll, equals, hashCode, iterator, listIterator, listIterator, removeAll, retainAll, subList
 

Constructor Detail

RemovalAwareList

public RemovalAwareList()
Method Detail

afterStore

public void afterStore(PersistenceBroker broker)
                throws PersistenceBrokerException
Description copied from interface: ManageableCollection
A callback method to implement 'removal-aware' (track removed objects and delete them by its own) collection implementations.

Specified by:
afterStore in interface ManageableCollection
Overrides:
afterStore in class ManageableArrayList
Parameters:
broker - The persistence broker
Throws:
PersistenceBrokerException
See Also:
ManageableCollection.afterStore(PersistenceBroker broker)

remove

public Object remove(int index)
Specified by:
remove in interface List
Overrides:
remove in class ArrayList
See Also:
List.remove(int)

registerForDeletion

protected void registerForDeletion(Object toBeRemoved)

remove

public boolean remove(Object o)
Specified by:
remove in interface Collection
Specified by:
remove in interface List
Overrides:
remove in class ArrayList
See Also:
Collection.remove(Object)

removeAllElements

public void removeAllElements()
See Also:
Vector.removeAllElements()

removeElementAt

public void removeElementAt(int index)
See Also:
Vector.removeElementAt(int)

clear

public void clear()
Specified by:
clear in interface Collection
Specified by:
clear in interface List
Overrides:
clear in class ArrayList

removeRange

protected void removeRange(int fromIndex,
                           int toIndex)
Overrides:
removeRange in class ArrayList
See Also:
AbstractList.removeRange(int, int)

resetDeleted

public void resetDeleted()


Copyright © 2004-2012 The Kuali Foundation. All Rights Reserved.