You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by sc...@apache.org on 2003/05/17 16:11:10 UTC

cvs commit: jakarta-commons/collections/src/java/org/apache/commons/collections/decorators LazySortedMap.java LazyMap.java

scolebourne    2003/05/17 07:11:10

  Modified:    collections/src/java/org/apache/commons/collections/decorators
                        LazySortedMap.java LazyMap.java
  Log:
  Hold a Transformer internally, as wrap Factory as Transformer
  
  Revision  Changes    Path
  1.2       +5 -17     jakarta-commons/collections/src/java/org/apache/commons/collections/decorators/LazySortedMap.java
  
  Index: LazySortedMap.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/decorators/LazySortedMap.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- LazySortedMap.java	9 May 2003 16:42:35 -0000	1.1
  +++ LazySortedMap.java	17 May 2003 14:11:09 -0000	1.2
  @@ -162,29 +162,17 @@
   
       public SortedMap subMap(Object fromKey, Object toKey) {
           SortedMap map = getSortedMap().subMap(fromKey, toKey);
  -        if (factory instanceof Factory) {
  -            return new LazySortedMap(map, (Factory) factory);
  -        } else {
  -            return new LazySortedMap(map, (Transformer) factory);
  -        }
  +        return new LazySortedMap(map, factory);
       }
   
       public SortedMap headMap(Object toKey) {
           SortedMap map = getSortedMap().headMap(toKey);
  -        if (factory instanceof Factory) {
  -            return new LazySortedMap(map, (Factory) factory);
  -        } else {
  -            return new LazySortedMap(map, (Transformer) factory);
  -        }
  +        return new LazySortedMap(map, factory);
       }
   
       public SortedMap tailMap(Object fromKey) {
           SortedMap map = getSortedMap().tailMap(fromKey);
  -        if (factory instanceof Factory) {
  -            return new LazySortedMap(map, (Factory) factory);
  -        } else {
  -            return new LazySortedMap(map, (Transformer) factory);
  -        }
  +        return new LazySortedMap(map, factory);
       }
   
   }
  
  
  
  1.2       +8 -13     jakarta-commons/collections/src/java/org/apache/commons/collections/decorators/LazyMap.java
  
  Index: LazyMap.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/decorators/LazyMap.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- LazyMap.java	9 May 2003 16:42:35 -0000	1.1
  +++ LazyMap.java	17 May 2003 14:11:10 -0000	1.2
  @@ -61,6 +61,7 @@
   
   import org.apache.commons.collections.Factory;
   import org.apache.commons.collections.Transformer;
  +import org.apache.commons.collections.TransformerUtils;
   
   /**
    * <code>LazyMap</code> decorates another <code>Map</code>
  @@ -94,7 +95,7 @@
   public class LazyMap extends AbstractMapDecorator implements Map {
   
       /** The factory to use to construct elements */
  -    protected final Object factory;
  +    protected final Transformer factory;
   
       /**
        * Factory method to create a lazily instantiated map.
  @@ -130,7 +131,7 @@
           if (factory == null) {
               throw new IllegalArgumentException("Factory must not be null");
           }
  -        this.factory = factory;
  +        this.factory = TransformerUtils.asTransformer(factory);
       }
   
       /**
  @@ -152,15 +153,9 @@
       public Object get(Object key) {
           // create value for key if key is not currently in the map
           if (map.containsKey(key) == false) {
  -            if (factory instanceof Factory) {
  -                Object value = ((Factory) factory).create();
  -                map.put(key, value);
  -                return value;
  -            } else {
  -                Object value = ((Transformer) factory).transform(key);
  -                map.put(key, value);
  -                return value;
  -            }
  +            Object value = factory.transform(key);
  +            map.put(key, value);
  +            return value;
           }
           return map.get(key);
       }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org