Author: bayard
Date: Tue Sep 15 05:56:18 2009
New Revision: 815085
URL: http://svn.apache.org/viewvc?rev=815085&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:
------------------------------------------------------------------------
r471189 | scolebourne | 2006-11-04 05:57:57 -0800 (Sat, 04 Nov 2006) | 1
line
Remove getMap(), getOrderedMap() and getSortedMap() - use decorated()
------------------------------------------------------------------------
Modified:
commons/proper/collections/trunk/src/java/org/apache/commons/collections/map/TransformedSortedMap.java
Modified:
commons/proper/collections/trunk/src/java/org/apache/commons/collections/map/TransformedSortedMap.java
URL:
http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/java/org/apache/commons/collections/map/TransformedSortedMap.java?rev=815085&r1=815084&r2=815085&view=diff
==============================================================================
---
commons/proper/collections/trunk/src/java/org/apache/commons/collections/map/TransformedSortedMap.java
(original)
+++
commons/proper/collections/trunk/src/java/org/apache/commons/collections/map/TransformedSortedMap.java
Tue Sep 15 05:56:18 2009
@@ -43,9 +43,9 @@
*
* @author Stephen Colebourne
*/
-public class TransformedSortedMap
- extends TransformedMap
- implements SortedMap {
+public class TransformedSortedMap<K, V>
+ extends TransformedMap<K, V>
+ implements SortedMap<K, V> {
/** Serialization version */
private static final long serialVersionUID = -8751771676410385778L;
@@ -62,8 +62,10 @@
* @param valueTransformer the predicate to validate to values, null
means no transformation
* @throws IllegalArgumentException if the map is null
*/
- public static SortedMap decorate(SortedMap map, Transformer
keyTransformer, Transformer valueTransformer) {
- return new TransformedSortedMap(map, keyTransformer, valueTransformer);
+ public static <K, V> SortedMap<K, V> decorate(SortedMap<K, V> map,
+ Transformer<? super K, ? extends K> keyTransformer,
+ Transformer<? super V, ? extends V> valueTransformer) {
+ return new TransformedSortedMap<K, V>(map, keyTransformer,
valueTransformer);
}
/**
@@ -80,12 +82,14 @@
* @throws IllegalArgumentException if map is null
* @since Commons Collections 3.2
*/
- public static SortedMap decorateTransform(SortedMap map, Transformer
keyTransformer, Transformer valueTransformer) {
- TransformedSortedMap decorated = new TransformedSortedMap(map,
keyTransformer, valueTransformer);
+ public static <K, V> SortedMap<K, V> decorateTransform(SortedMap<K, V> map,
+ Transformer<? super K, ? extends K> keyTransformer,
+ Transformer<? super V, ? extends V> valueTransformer) {
+ TransformedSortedMap<K, V> decorated = new TransformedSortedMap<K,
V>(map, keyTransformer, valueTransformer);
if (map.size() > 0) {
- Map transformed = decorated.transformMap(map);
+ Map<K, V> transformed = decorated.transformMap(map);
decorated.clear();
- decorated.getMap().putAll(transformed); // avoids double
transformation
+ decorated.decorated().putAll(transformed); // avoids double
transformation
}
return decorated;
}
@@ -102,7 +106,9 @@
* @param valueTransformer the predicate to validate to values, null
means no transformation
* @throws IllegalArgumentException if the map is null
*/
- protected TransformedSortedMap(SortedMap map, Transformer keyTransformer,
Transformer valueTransformer) {
+ protected TransformedSortedMap(SortedMap<K, V> map,
+ Transformer<? super K, ? extends K> keyTransformer,
+ Transformer<? super V, ? extends V> valueTransformer) {
super(map, keyTransformer, valueTransformer);
}
@@ -112,36 +118,36 @@
*
* @return the decorated map
*/
- protected SortedMap getSortedMap() {
- return (SortedMap) map;
+ protected SortedMap<K, V> getSortedMap() {
+ return (SortedMap<K, V>) map;
}
//-----------------------------------------------------------------------
- public Object firstKey() {
+ public K firstKey() {
return getSortedMap().firstKey();
}
- public Object lastKey() {
+ public K lastKey() {
return getSortedMap().lastKey();
}
- public Comparator comparator() {
+ public Comparator<? super K> comparator() {
return getSortedMap().comparator();
}
- public SortedMap subMap(Object fromKey, Object toKey) {
- SortedMap map = getSortedMap().subMap(fromKey, toKey);
- return new TransformedSortedMap(map, keyTransformer, valueTransformer);
+ public SortedMap<K, V> subMap(K fromKey, K toKey) {
+ SortedMap<K, V> map = getSortedMap().subMap(fromKey, toKey);
+ return new TransformedSortedMap<K, V>(map, keyTransformer,
valueTransformer);
}
- public SortedMap headMap(Object toKey) {
- SortedMap map = getSortedMap().headMap(toKey);
- return new TransformedSortedMap(map, keyTransformer, valueTransformer);
+ public SortedMap<K, V> headMap(K toKey) {
+ SortedMap<K, V> map = getSortedMap().headMap(toKey);
+ return new TransformedSortedMap<K, V>(map, keyTransformer,
valueTransformer);
}
- public SortedMap tailMap(Object fromKey) {
- SortedMap map = getSortedMap().tailMap(fromKey);
- return new TransformedSortedMap(map, keyTransformer, valueTransformer);
+ public SortedMap<K, V> tailMap(K fromKey) {
+ SortedMap<K, V> map = getSortedMap().tailMap(fromKey);
+ return new TransformedSortedMap<K, V>(map, keyTransformer,
valueTransformer);
}
}