Author: bayard Date: Tue Sep 15 05:56:38 2009 New Revision: 815096 URL: http://svn.apache.org/viewvc?rev=815096&view=rev Log: Merging from -r468106:814127 of collections_jdk5_branch - namely where this code was generified; mostly in r738956.
Also see the following revisions: ------------------------------------------------------------------------ r471186 | scolebourne | 2006-11-04 05:47:51 -0800 (Sat, 04 Nov 2006) | 1 line Remove getSet() and getSortedSet() - use decorated() ------------------------------------------------------------------------ r471173 | scolebourne | 2006-11-04 04:07:39 -0800 (Sat, 04 Nov 2006) | 1 line Abstract*Decorator - Generify and use covariant return types ------------------------------------------------------------------------ Modified: commons/proper/collections/trunk/src/java/org/apache/commons/collections/set/AbstractSortedSetDecorator.java Modified: commons/proper/collections/trunk/src/java/org/apache/commons/collections/set/AbstractSortedSetDecorator.java URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/java/org/apache/commons/collections/set/AbstractSortedSetDecorator.java?rev=815096&r1=815095&r2=815096&view=diff ============================================================================== --- commons/proper/collections/trunk/src/java/org/apache/commons/collections/set/AbstractSortedSetDecorator.java (original) +++ commons/proper/collections/trunk/src/java/org/apache/commons/collections/set/AbstractSortedSetDecorator.java Tue Sep 15 05:56:38 2009 @@ -25,12 +25,18 @@ * <p> * Methods are forwarded directly to the decorated set. * + * @param <E> the type of the elements in the sorted set * @since Commons Collections 3.0 * @version $Revision$ $Date$ * * @author Stephen Colebourne */ -public abstract class AbstractSortedSetDecorator extends AbstractSetDecorator implements SortedSet { +public abstract class AbstractSortedSetDecorator<E> + extends AbstractSetDecorator<E> + implements SortedSet<E> { + + /** Serialization version */ + private static final long serialVersionUID = -3462240946294214398L; /** * Constructor only used in deserialization, do not use otherwise. @@ -46,42 +52,42 @@ * @param set the set to decorate, must not be null * @throws IllegalArgumentException if set is null */ - protected AbstractSortedSetDecorator(Set set) { + protected AbstractSortedSetDecorator(Set<E> set) { super(set); } /** - * Gets the sorted set being decorated. + * Gets the set being decorated. * * @return the decorated set */ - protected SortedSet getSortedSet() { - return (SortedSet) getCollection(); + protected SortedSet<E> decorated() { + return (SortedSet<E>) super.decorated(); } - + //----------------------------------------------------------------------- - public SortedSet subSet(Object fromElement, Object toElement) { - return getSortedSet().subSet(fromElement, toElement); + public SortedSet<E> subSet(E fromElement, E toElement) { + return decorated().subSet(fromElement, toElement); } - public SortedSet headSet(Object toElement) { - return getSortedSet().headSet(toElement); + public SortedSet<E> headSet(E toElement) { + return decorated().headSet(toElement); } - public SortedSet tailSet(Object fromElement) { - return getSortedSet().tailSet(fromElement); + public SortedSet<E> tailSet(E fromElement) { + return decorated().tailSet(fromElement); } - public Object first() { - return getSortedSet().first(); + public E first() { + return decorated().first(); } - public Object last() { - return getSortedSet().last(); + public E last() { + return decorated().last(); } - public Comparator comparator() { - return getSortedSet().comparator(); + public Comparator<? super E> comparator() { + return decorated().comparator(); } }