info.monitorenter.util.collections
Class TreeSetGreedy<T extends IComparableProperty>

java.lang.Object
  extended by java.util.AbstractCollection<E>
      extended by java.util.AbstractSet<E>
          extended by java.util.TreeSet<T>
              extended by info.monitorenter.util.collections.TreeSetGreedy<T>
Type Parameters:
T - the type of instances to store.
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.Iterable<T>, java.util.Collection<T>, java.util.NavigableSet<T>, java.util.Set<T>, java.util.SortedSet<T>

public class TreeSetGreedy<T extends IComparableProperty>
extends java.util.TreeSet<T>
implements java.util.Set<T>

A Set that will always successfully add new instances and guarantee that all the "Comparable properties" of the contained IComparableProperty instances will build a set (no duplicates).

Although the interface of Set is preserved and allows adding any Object only IComparableProperty instances may be added to TreeSetGreedy because it uses a proprietary Comparator.

The added IComparableProperty instances with the lowest Number property (see IComparableProperty.getComparableProperty() ) will be returned first from the retrievable Iterator

Warning

If the IComparableProperty (thus meaning the member or accessed data) is changed from outside, the internal order of this set will get corrupted and iterations or add/remove calls may fail. Therefore it is necessary to remove the instance before outside modification and later on add it again.

Author:
Achim Westermann
See Also:
Serialized Form

Constructor Summary
TreeSetGreedy()
          Creates an instance with an internal Comparator to fulfill the contract of this class.
 
Method Summary
 boolean add(T o)
          Attempts to add the the given T.
 boolean remove(java.lang.Object o)
           
 
Methods inherited from class java.util.TreeSet
addAll, ceiling, clear, clone, comparator, contains, descendingIterator, descendingSet, first, floor, headSet, headSet, higher, isEmpty, iterator, last, lower, pollFirst, pollLast, size, subSet, subSet, tailSet, tailSet
 
Methods inherited from class java.util.AbstractSet
equals, hashCode, removeAll
 
Methods inherited from class java.util.AbstractCollection
containsAll, retainAll, toArray, toArray, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Set
addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, removeAll, retainAll, size, toArray, toArray
 

Constructor Detail

TreeSetGreedy

public TreeSetGreedy()
Creates an instance with an internal Comparator to fulfill the contract of this class.

Method Detail

add

public boolean add(T o)
Attempts to add the the given T.

Specified by:
add in interface java.util.Collection<T extends IComparableProperty>
Specified by:
add in interface java.util.Set<T extends IComparableProperty>
Overrides:
add in class java.util.TreeSet<T extends IComparableProperty>
Parameters:
o - the T to add.
Returns:
see superclass.
See Also:
TreeSet.add(java.lang.Object)

remove

public boolean remove(java.lang.Object o)
Specified by:
remove in interface java.util.Collection<T extends IComparableProperty>
Specified by:
remove in interface java.util.Set<T extends IComparableProperty>
Overrides:
remove in class java.util.TreeSet<T extends IComparableProperty>
See Also:
TreeSet.remove(java.lang.Object)


Copyright © 2001 - 2010 LGPL, All Rights Footloose.