1 17 package org.apache.commons.collections.primitives.adapters; 18 19 import java.lang.reflect.Array ; 20 import java.util.Collection ; 21 import java.util.Iterator ; 22 23 import org.apache.commons.collections.primitives.DoubleCollection; 24 25 30 abstract class AbstractDoubleCollectionCollection implements Collection { 31 32 public boolean add(Object element) { 33 return getDoubleCollection().add(((Number )element).doubleValue()); 34 } 35 36 public boolean addAll(Collection c) { 37 return getDoubleCollection().addAll(CollectionDoubleCollection.wrap(c)); 38 } 39 40 public void clear() { 41 getDoubleCollection().clear(); 42 } 43 44 public boolean contains(Object element) { 45 return getDoubleCollection().contains(((Number )element).doubleValue()); 46 } 47 48 49 public boolean containsAll(Collection c) { 50 return getDoubleCollection().containsAll(CollectionDoubleCollection.wrap(c)); 51 } 52 53 public String toString() { 54 return getDoubleCollection().toString(); 55 } 56 57 public boolean isEmpty() { 58 return getDoubleCollection().isEmpty(); 59 } 60 61 68 public Iterator iterator() { 69 return DoubleIteratorIterator.wrap(getDoubleCollection().iterator()); 70 } 71 72 public boolean remove(Object element) { 73 return getDoubleCollection().removeElement(((Number )element).doubleValue()); 74 } 75 76 public boolean removeAll(Collection c) { 77 return getDoubleCollection().removeAll(CollectionDoubleCollection.wrap(c)); 78 } 79 80 public boolean retainAll(Collection c) { 81 return getDoubleCollection().retainAll(CollectionDoubleCollection.wrap(c)); 82 } 83 84 public int size() { 85 return getDoubleCollection().size(); 86 } 87 88 public Object [] toArray() { 89 double[] a = getDoubleCollection().toArray(); 90 Object [] A = new Object [a.length]; 91 for(int i=0;i<a.length;i++) { 92 A[i] = new Double (a[i]); 93 } 94 return A; 95 } 96 97 public Object [] toArray(Object [] A) { 98 double[] a = getDoubleCollection().toArray(); 99 if(A.length < a.length) { 100 A = (Object [])(Array.newInstance(A.getClass().getComponentType(), a.length)); 101 } 102 for(int i=0;i<a.length;i++) { 103 A[i] = new Double (a[i]); 104 } 105 if(A.length > a.length) { 106 A[a.length] = null; 107 } 108 109 return A; 110 } 111 112 protected abstract DoubleCollection getDoubleCollection(); 113 } 114 | Popular Tags |