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

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

public class RemovalAwareCollection
extends ManageableVector
implements IRemovalAwareCollection

This is a collection 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: RemovalAwareCollection.java,v 1.1 2007-08-24 22:17:39 ewestfal Exp $
Author:
Thomas Mahler
See Also:
Serialized Form

Field Summary
private  Vector allObjectsToBeRemoved
           
 
Fields inherited from class java.util.Vector
capacityIncrement, elementCount, elementData
 
Fields inherited from class java.util.AbstractList
modCount
 
Constructor Summary
RemovalAwareCollection()
           
 
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)
           
 
Methods inherited from class org.apache.ojb.broker.util.collections.ManageableVector
ojbAdd, ojbAddAll, ojbIterator
 
Methods inherited from class java.util.Vector
add, add, addAll, addAll, addElement, capacity, clone, contains, containsAll, copyInto, elementAt, elements, ensureCapacity, equals, firstElement, get, hashCode, indexOf, indexOf, insertElementAt, isEmpty, lastElement, lastIndexOf, lastIndexOf, removeAll, removeElement, retainAll, set, setElementAt, setSize, size, subList, toArray, toArray, toString, trimToSize
 
Methods inherited from class java.util.AbstractList
iterator, listIterator, listIterator
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.List
iterator, listIterator, listIterator
 

Field Detail

allObjectsToBeRemoved

private Vector allObjectsToBeRemoved
Constructor Detail

RemovalAwareCollection

public RemovalAwareCollection()
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 ManageableVector
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 Vector
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 Vector
See Also:
Collection.remove(Object)

clear

public void clear()
Specified by:
clear in interface Collection
Specified by:
clear in interface List
Overrides:
clear in class Vector
See Also:
Vector.clear()

removeAllElements

public void removeAllElements()
Overrides:
removeAllElements in class Vector
See Also:
Vector.removeAllElements()

removeElementAt

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

removeRange

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


Copyright © 2007-2011 The Kuali Foundation. All Rights Reserved.