add float types and tests
git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/collections/trunk@131006 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
54a2013989
commit
95df194b8b
|
@ -0,0 +1,175 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/java/org/apache/commons/collections/primitives/Attic/AbstractFloatCollection.java,v 1.1 2003/04/13 22:08:08 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives;
|
||||
|
||||
/**
|
||||
* Abstract base class for {@link FloatCollection}s.
|
||||
* <p />
|
||||
* Read-only subclasses must override {@link #iterator}
|
||||
* and {@link #size}. Mutable subclasses
|
||||
* should also override {@link #add} and
|
||||
* {@link FloatIterator#remove FloatIterator.remove}.
|
||||
* All other methods have at least some base implementation
|
||||
* derived from these. Subclasses may choose to override
|
||||
* these methods to provide a more efficient implementation.
|
||||
*
|
||||
* @since Commons Collections 2.2
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:08 $
|
||||
*
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
public abstract class AbstractFloatCollection implements FloatCollection {
|
||||
public abstract FloatIterator iterator();
|
||||
public abstract int size();
|
||||
|
||||
protected AbstractFloatCollection() { }
|
||||
|
||||
/** Unsupported in this base implementation. */
|
||||
public boolean add(float element) {
|
||||
throw new UnsupportedOperationException("add(float) is not supported.");
|
||||
}
|
||||
|
||||
public boolean addAll(FloatCollection c) {
|
||||
boolean modified = false;
|
||||
for(FloatIterator iter = c.iterator(); iter.hasNext(); ) {
|
||||
modified |= add(iter.next());
|
||||
}
|
||||
return modified;
|
||||
}
|
||||
|
||||
public void clear() {
|
||||
for(FloatIterator iter = iterator(); iter.hasNext();) {
|
||||
iter.next();
|
||||
iter.remove();
|
||||
}
|
||||
}
|
||||
|
||||
public boolean contains(float element) {
|
||||
for(FloatIterator iter = iterator(); iter.hasNext();) {
|
||||
if(iter.next() == element) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean containsAll(FloatCollection c) {
|
||||
for(FloatIterator iter = c.iterator(); iter.hasNext();) {
|
||||
if(!contains(iter.next())) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean isEmpty() {
|
||||
return (0 == size());
|
||||
}
|
||||
|
||||
public boolean removeElement(float element) {
|
||||
for(FloatIterator iter = iterator(); iter.hasNext();) {
|
||||
if(iter.next() == element) {
|
||||
iter.remove();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean removeAll(FloatCollection c) {
|
||||
boolean modified = false;
|
||||
for(FloatIterator iter = c.iterator(); iter.hasNext(); ) {
|
||||
modified |= removeElement(iter.next());
|
||||
}
|
||||
return modified;
|
||||
}
|
||||
|
||||
public boolean retainAll(FloatCollection c) {
|
||||
boolean modified = false;
|
||||
for(FloatIterator iter = iterator(); iter.hasNext();) {
|
||||
if(!c.contains(iter.next())) {
|
||||
iter.remove();
|
||||
modified = true;
|
||||
}
|
||||
}
|
||||
return modified;
|
||||
}
|
||||
|
||||
public float[] toArray() {
|
||||
float[] array = new float[size()];
|
||||
int i = 0;
|
||||
for(FloatIterator iter = iterator(); iter.hasNext();) {
|
||||
array[i] = iter.next();
|
||||
i++;
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
public float[] toArray(float[] a) {
|
||||
if(a.length < size()) {
|
||||
return toArray();
|
||||
} else {
|
||||
int i = 0;
|
||||
for(FloatIterator iter = iterator(); iter.hasNext();) {
|
||||
a[i] = iter.next();
|
||||
i++;
|
||||
}
|
||||
return a;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,429 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/java/org/apache/commons/collections/primitives/Attic/AbstractRandomAccessFloatList.java,v 1.1 2003/04/13 22:08:08 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2002-2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives;
|
||||
|
||||
import java.util.ConcurrentModificationException;
|
||||
import java.util.NoSuchElementException;
|
||||
|
||||
/**
|
||||
* Abstract base class for {@link FloatList}s backed
|
||||
* by random access structures like arrays.
|
||||
* <p />
|
||||
* Read-only subclasses must override {@link #get}
|
||||
* and {@link #size}. Mutable subclasses
|
||||
* should also override {@link #set}. Variably-sized
|
||||
* subclasses should also override {@link #add}
|
||||
* and {@link #removeElementAt}. All other methods
|
||||
* have at least some base implementation derived from
|
||||
* these. Subclasses may choose to override these methods
|
||||
* to provide a more efficient implementation.
|
||||
*
|
||||
* @since Commons Collections 2.2
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:08 $
|
||||
*
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
public abstract class AbstractRandomAccessFloatList extends AbstractFloatCollection implements FloatList {
|
||||
|
||||
// constructors
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
/** Constructs an empty list. */
|
||||
protected AbstractRandomAccessFloatList() {
|
||||
}
|
||||
|
||||
// fully abstract methods
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
public abstract float get(int index);
|
||||
public abstract int size();
|
||||
|
||||
// unsupported in base
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Unsupported in this implementation.
|
||||
* @throws UnsupportedOperationException since this method is not supported
|
||||
*/
|
||||
public float removeElementAt(int index) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
/**
|
||||
* Unsupported in this implementation.
|
||||
* @throws UnsupportedOperationException since this method is not supported
|
||||
*/
|
||||
public float set(int index, float element) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
/**
|
||||
* Unsupported in this implementation.
|
||||
* @throws UnsupportedOperationException since this method is not supported
|
||||
*/
|
||||
public void add(int index, float element) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
// javadocs here are inherited
|
||||
|
||||
public boolean add(float element) {
|
||||
add(size(),element);
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean addAll(int index, FloatCollection collection) {
|
||||
boolean modified = false;
|
||||
for(FloatIterator iter = collection.iterator(); iter.hasNext(); ) {
|
||||
add(index++,iter.next());
|
||||
modified = true;
|
||||
}
|
||||
return modified;
|
||||
}
|
||||
|
||||
public int indexOf(float element) {
|
||||
int i = 0;
|
||||
for(FloatIterator iter = iterator(); iter.hasNext(); ) {
|
||||
if(iter.next() == element) {
|
||||
return i;
|
||||
} else {
|
||||
i++;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
public int lastIndexOf(float element) {
|
||||
for(FloatListIterator iter = listIterator(size()); iter.hasPrevious(); ) {
|
||||
if(iter.previous() == element) {
|
||||
return iter.nextIndex();
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
public FloatIterator iterator() {
|
||||
return listIterator();
|
||||
}
|
||||
|
||||
public FloatListIterator listIterator() {
|
||||
return listIterator(0);
|
||||
}
|
||||
|
||||
public FloatListIterator listIterator(int index) {
|
||||
return new RandomAccessFloatListIterator(this,index);
|
||||
}
|
||||
|
||||
public FloatList subList(int fromIndex, int toIndex) {
|
||||
return new RandomAccessFloatSubList(this,fromIndex,toIndex);
|
||||
}
|
||||
|
||||
public boolean equals(Object that) {
|
||||
if(this == that) {
|
||||
return true;
|
||||
} else if(that instanceof FloatList) {
|
||||
FloatList thatList = (FloatList)that;
|
||||
if(size() != thatList.size()) {
|
||||
return false;
|
||||
}
|
||||
for(FloatIterator thatIter = thatList.iterator(), thisIter = iterator(); thisIter.hasNext();) {
|
||||
if(thisIter.next() != thatIter.next()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
int hash = 1;
|
||||
for(FloatIterator iter = iterator(); iter.hasNext(); ) {
|
||||
hash = 31*hash + Float.floatToIntBits(iter.next());
|
||||
}
|
||||
return hash;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuffer buf = new StringBuffer();
|
||||
buf.append("[");
|
||||
for(FloatIterator iter = iterator(); iter.hasNext();) {
|
||||
buf.append(iter.next());
|
||||
if(iter.hasNext()) {
|
||||
buf.append(", ");
|
||||
}
|
||||
}
|
||||
buf.append("]");
|
||||
return buf.toString();
|
||||
}
|
||||
|
||||
// protected utilities
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
/** Get my count of structural modifications. */
|
||||
protected int getModCount() {
|
||||
return _modCount;
|
||||
}
|
||||
|
||||
/** Increment my count of structural modifications. */
|
||||
protected void incrModCount() {
|
||||
_modCount++;
|
||||
}
|
||||
|
||||
// attributes
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
private int _modCount = 0;
|
||||
|
||||
// inner classes
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
private static class ComodChecker {
|
||||
ComodChecker(AbstractRandomAccessFloatList source) {
|
||||
_source = source;
|
||||
resyncModCount();
|
||||
}
|
||||
|
||||
protected AbstractRandomAccessFloatList getList() {
|
||||
return _source;
|
||||
}
|
||||
|
||||
protected void assertNotComodified() throws ConcurrentModificationException {
|
||||
if(_expectedModCount != getList().getModCount()) {
|
||||
throw new ConcurrentModificationException();
|
||||
}
|
||||
}
|
||||
|
||||
protected void resyncModCount() {
|
||||
_expectedModCount = getList().getModCount();
|
||||
}
|
||||
|
||||
private AbstractRandomAccessFloatList _source = null;
|
||||
private int _expectedModCount = -1;
|
||||
}
|
||||
|
||||
protected static class RandomAccessFloatListIterator extends ComodChecker implements FloatListIterator {
|
||||
RandomAccessFloatListIterator(AbstractRandomAccessFloatList list, int index) {
|
||||
super(list);
|
||||
if(index < 0 || index > getList().size()) {
|
||||
throw new IndexOutOfBoundsException("Index " + index + " not in [0," + getList().size() + ")");
|
||||
} else {
|
||||
_nextIndex = index;
|
||||
resyncModCount();
|
||||
}
|
||||
}
|
||||
|
||||
public boolean hasNext() {
|
||||
assertNotComodified();
|
||||
return _nextIndex < getList().size();
|
||||
}
|
||||
|
||||
public boolean hasPrevious() {
|
||||
assertNotComodified();
|
||||
return _nextIndex > 0;
|
||||
}
|
||||
|
||||
public int nextIndex() {
|
||||
assertNotComodified();
|
||||
return _nextIndex;
|
||||
}
|
||||
|
||||
public int previousIndex() {
|
||||
assertNotComodified();
|
||||
return _nextIndex - 1;
|
||||
}
|
||||
|
||||
public float next() {
|
||||
assertNotComodified();
|
||||
if(!hasNext()) {
|
||||
throw new NoSuchElementException();
|
||||
} else {
|
||||
float val = getList().get(_nextIndex);
|
||||
_lastReturnedIndex = _nextIndex;
|
||||
_nextIndex++;
|
||||
return val;
|
||||
}
|
||||
}
|
||||
|
||||
public float previous() {
|
||||
assertNotComodified();
|
||||
if(!hasPrevious()) {
|
||||
throw new NoSuchElementException();
|
||||
} else {
|
||||
float val = getList().get(_nextIndex-1);
|
||||
_lastReturnedIndex = _nextIndex-1;
|
||||
_nextIndex--;
|
||||
return val;
|
||||
}
|
||||
}
|
||||
|
||||
public void add(float value) {
|
||||
assertNotComodified();
|
||||
getList().add(_nextIndex,value);
|
||||
_nextIndex++;
|
||||
_lastReturnedIndex = -1;
|
||||
resyncModCount();
|
||||
}
|
||||
|
||||
public void remove() {
|
||||
assertNotComodified();
|
||||
if(-1 == _lastReturnedIndex) {
|
||||
throw new IllegalStateException();
|
||||
} else {
|
||||
getList().removeElementAt(_lastReturnedIndex);
|
||||
_lastReturnedIndex = -1;
|
||||
_nextIndex--;
|
||||
resyncModCount();
|
||||
}
|
||||
}
|
||||
|
||||
public void set(float value) {
|
||||
assertNotComodified();
|
||||
if(-1 == _lastReturnedIndex) {
|
||||
throw new IllegalStateException();
|
||||
} else {
|
||||
getList().set(_lastReturnedIndex,value);
|
||||
resyncModCount();
|
||||
}
|
||||
}
|
||||
|
||||
private int _nextIndex = 0;
|
||||
private int _lastReturnedIndex = -1;
|
||||
}
|
||||
|
||||
protected static class RandomAccessFloatSubList extends AbstractRandomAccessFloatList implements FloatList {
|
||||
RandomAccessFloatSubList(AbstractRandomAccessFloatList list, int fromIndex, int toIndex) {
|
||||
if(fromIndex < 0 || toIndex > list.size()) {
|
||||
throw new IndexOutOfBoundsException();
|
||||
} else if(fromIndex > toIndex) {
|
||||
throw new IllegalArgumentException();
|
||||
} else {
|
||||
_list = list;
|
||||
_offset = fromIndex;
|
||||
_limit = toIndex - fromIndex;
|
||||
_comod = new ComodChecker(list);
|
||||
_comod.resyncModCount();
|
||||
}
|
||||
}
|
||||
|
||||
public float get(int index) {
|
||||
checkRange(index);
|
||||
_comod.assertNotComodified();
|
||||
return _list.get(toUnderlyingIndex(index));
|
||||
}
|
||||
|
||||
public float removeElementAt(int index) {
|
||||
checkRange(index);
|
||||
_comod.assertNotComodified();
|
||||
float val = _list.removeElementAt(toUnderlyingIndex(index));
|
||||
_limit--;
|
||||
_comod.resyncModCount();
|
||||
incrModCount();
|
||||
return val;
|
||||
}
|
||||
|
||||
public float set(int index, float element) {
|
||||
checkRange(index);
|
||||
_comod.assertNotComodified();
|
||||
float val = _list.set(toUnderlyingIndex(index),element);
|
||||
incrModCount();
|
||||
_comod.resyncModCount();
|
||||
return val;
|
||||
}
|
||||
|
||||
public void add(int index, float element) {
|
||||
checkRangeIncludingEndpoint(index);
|
||||
_comod.assertNotComodified();
|
||||
_list.add(toUnderlyingIndex(index),element);
|
||||
_limit++;
|
||||
_comod.resyncModCount();
|
||||
incrModCount();
|
||||
}
|
||||
|
||||
public int size() {
|
||||
_comod.assertNotComodified();
|
||||
return _limit;
|
||||
}
|
||||
|
||||
private void checkRange(int index) {
|
||||
if(index < 0 || index >= size()) {
|
||||
throw new IndexOutOfBoundsException("index " + index + " not in [0," + size() + ")");
|
||||
}
|
||||
}
|
||||
|
||||
private void checkRangeIncludingEndpoint(int index) {
|
||||
if(index < 0 || index > size()) {
|
||||
throw new IndexOutOfBoundsException("index " + index + " not in [0," + size() + "]");
|
||||
}
|
||||
}
|
||||
|
||||
private int toUnderlyingIndex(int index) {
|
||||
return (index + _offset);
|
||||
}
|
||||
|
||||
private int _offset = 0;
|
||||
private int _limit = 0;
|
||||
private AbstractRandomAccessFloatList _list = null;
|
||||
private ComodChecker _comod = null;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,265 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/java/org/apache/commons/collections/primitives/Attic/ArrayFloatList.java,v 1.1 2003/04/13 22:08:08 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2002-2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.ObjectInputStream;
|
||||
import java.io.ObjectOutputStream;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* An {@link FloatList} backed by an array of <code>float</code>s.
|
||||
* This implementation supports all optional methods.
|
||||
*
|
||||
* @since Commons Collections 2.2
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:08 $
|
||||
*
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
public class ArrayFloatList extends AbstractRandomAccessFloatList implements FloatList, Serializable {
|
||||
|
||||
// constructors
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Construct an empty list with the default
|
||||
* initial capacity.
|
||||
*/
|
||||
public ArrayFloatList() {
|
||||
this(8);
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct an empty list with the given
|
||||
* initial capacity.
|
||||
* @throws IllegalArgumentException when <i>initialCapacity</i> is negative
|
||||
*/
|
||||
public ArrayFloatList(int initialCapacity) {
|
||||
if(initialCapacity < 0) {
|
||||
throw new IllegalArgumentException("capacity " + initialCapacity);
|
||||
}
|
||||
_data = new float[initialCapacity];
|
||||
_size = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a list containing the elements of the given collection,
|
||||
* in the order they are returned by that collection's iterator.
|
||||
*
|
||||
* @see ArrayFloatList#addAll(org.apache.commons.collections.primitives.FloatCollection)
|
||||
* @param that the non-<code>null</code> collection of <code>float</code>s
|
||||
* to add
|
||||
* @throws NullPointerException if <i>that</i> is <code>null</code>
|
||||
*/
|
||||
public ArrayFloatList(FloatCollection that) {
|
||||
this(that.size());
|
||||
addAll(that);
|
||||
}
|
||||
|
||||
// FloatList methods
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
public float get(int index) {
|
||||
checkRange(index);
|
||||
return _data[index];
|
||||
}
|
||||
|
||||
public int size() {
|
||||
return _size;
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes the element at the specified position in
|
||||
* (optional operation). Any subsequent elements
|
||||
* are shifted to the left, subtracting one from their
|
||||
* indices. Returns the element that was removed.
|
||||
*
|
||||
* @param index the index of the element to remove
|
||||
* @return the value of the element that was removed
|
||||
*
|
||||
* @throws UnsupportedOperationException when this operation is not
|
||||
* supported
|
||||
* @throws IndexOutOfBoundsException if the specified index is out of range
|
||||
*/
|
||||
public float removeElementAt(int index) {
|
||||
checkRange(index);
|
||||
incrModCount();
|
||||
float oldval = _data[index];
|
||||
int numtomove = _size - index - 1;
|
||||
if(numtomove > 0) {
|
||||
System.arraycopy(_data,index+1,_data,index,numtomove);
|
||||
}
|
||||
_size--;
|
||||
return oldval;
|
||||
}
|
||||
|
||||
/**
|
||||
* Replaces the element at the specified
|
||||
* position in me with the specified element
|
||||
* (optional operation).
|
||||
*
|
||||
* @param index the index of the element to change
|
||||
* @param element the value to be stored at the specified position
|
||||
* @return the value previously stored at the specified position
|
||||
*
|
||||
* @throws UnsupportedOperationException when this operation is not
|
||||
* supported
|
||||
* @throws IndexOutOfBoundsException if the specified index is out of range
|
||||
*/
|
||||
public float set(int index, float element) {
|
||||
checkRange(index);
|
||||
incrModCount();
|
||||
float oldval = _data[index];
|
||||
_data[index] = element;
|
||||
return oldval;
|
||||
}
|
||||
|
||||
/**
|
||||
* Inserts the specified element at the specified position
|
||||
* (optional operation). Shifts the element currently
|
||||
* at that position (if any) and any subsequent elements to the
|
||||
* right, increasing their indices.
|
||||
*
|
||||
* @param index the index at which to insert the element
|
||||
* @param element the value to insert
|
||||
*
|
||||
* @throws UnsupportedOperationException when this operation is not
|
||||
* supported
|
||||
* @throws IllegalArgumentException if some aspect of the specified element
|
||||
* prevents it from being added to me
|
||||
* @throws IndexOutOfBoundsException if the specified index is out of range
|
||||
*/
|
||||
public void add(int index, float element) {
|
||||
checkRangeIncludingEndpoint(index);
|
||||
incrModCount();
|
||||
ensureCapacity(_size+1);
|
||||
int numtomove = _size-index;
|
||||
System.arraycopy(_data,index,_data,index+1,numtomove);
|
||||
_data[index] = element;
|
||||
_size++;
|
||||
}
|
||||
|
||||
// capacity methods
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Increases my capacity, if necessary, to ensure that I can hold at
|
||||
* least the number of elements specified by the minimum capacity
|
||||
* argument without growing.
|
||||
*/
|
||||
public void ensureCapacity(int mincap) {
|
||||
incrModCount();
|
||||
if(mincap > _data.length) {
|
||||
int newcap = (_data.length * 3)/2 + 1;
|
||||
float[] olddata = _data;
|
||||
_data = new float[newcap < mincap ? mincap : newcap];
|
||||
System.arraycopy(olddata,0,_data,0,_size);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Reduce my capacity, if necessary, to match my
|
||||
* current {@link #size size}.
|
||||
*/
|
||||
public void trimToSize() {
|
||||
incrModCount();
|
||||
if(_size < _data.length) {
|
||||
float[] olddata = _data;
|
||||
_data = new float[_size];
|
||||
System.arraycopy(olddata,0,_data,0,_size);
|
||||
}
|
||||
}
|
||||
|
||||
// private methods
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
private void writeObject(ObjectOutputStream out) throws IOException{
|
||||
out.defaultWriteObject();
|
||||
out.writeInt(_data.length);
|
||||
for(int i=0;i<_size;i++) {
|
||||
out.writeFloat(_data[i]);
|
||||
}
|
||||
}
|
||||
|
||||
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
|
||||
in.defaultReadObject();
|
||||
_data = new float[in.readInt()];
|
||||
for(int i=0;i<_size;i++) {
|
||||
_data[i] = in.readFloat();
|
||||
}
|
||||
}
|
||||
|
||||
private final void checkRange(int index) {
|
||||
if(index < 0 || index >= _size) {
|
||||
throw new IndexOutOfBoundsException("Should be at least 0 and less than " + _size + ", found " + index);
|
||||
}
|
||||
}
|
||||
|
||||
private final void checkRangeIncludingEndpoint(int index) {
|
||||
if(index < 0 || index > _size) {
|
||||
throw new IndexOutOfBoundsException("Should be at least 0 and at most " + _size + ", found " + index);
|
||||
}
|
||||
}
|
||||
|
||||
// attributes
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
private transient float[] _data = null;
|
||||
private int _size = 0;
|
||||
|
||||
}
|
|
@ -0,0 +1,246 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/java/org/apache/commons/collections/primitives/Attic/FloatCollection.java,v 1.1 2003/04/13 22:08:08 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2002-2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives;
|
||||
|
||||
/**
|
||||
* A collection of <code>float</code> values.
|
||||
*
|
||||
* @see org.apache.commons.collections.primitives.adapters.FloatCollectionCollection
|
||||
* @see org.apache.commons.collections.primitives.adapters.CollectionFloatCollection
|
||||
*
|
||||
* @since Commons Collections 2.2
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:08 $
|
||||
*
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
public interface FloatCollection {
|
||||
/**
|
||||
* Ensures that I contain the specified element
|
||||
* (optional operation). Returns <code>true</code>
|
||||
* iff I changed as a result of this call.
|
||||
* <p/>
|
||||
* If a collection refuses to add the specified
|
||||
* element for any reason other than that it already contains
|
||||
* the element, it <i>must</i> throw an exception (rather than
|
||||
* simply returning <tt>false</tt>). This preserves the invariant
|
||||
* that a collection always contains the specified element after
|
||||
* this call returns.
|
||||
*
|
||||
* @param element the value whose presence within me is to be ensured
|
||||
* @return <code>true</code> iff I changed as a result of this call
|
||||
*
|
||||
* @throws UnsupportedOperationException when this operation is not
|
||||
* supported
|
||||
* @throws IllegalArgumentException may be thrown if some aspect of the
|
||||
* specified element prevents it from being added to me
|
||||
*/
|
||||
boolean add(float element);
|
||||
|
||||
/**
|
||||
* {@link #add Adds} all of the elements in the
|
||||
* specified collection to me (optional operation).
|
||||
*
|
||||
* @param c the collection of elements whose presence within me is to
|
||||
* be ensured
|
||||
* @return <code>true</code> iff I changed as a result of this call
|
||||
*
|
||||
* @throws UnsupportedOperationException when this operation is not
|
||||
* supported
|
||||
* @throws IllegalArgumentException may be thrown if some aspect of some
|
||||
* specified element prevents it from being added to me
|
||||
*/
|
||||
boolean addAll(FloatCollection c);
|
||||
|
||||
/**
|
||||
* Removes all my elements (optional operation).
|
||||
* I will be {@link #isEmpty empty} after this
|
||||
* method successfully returns.
|
||||
*
|
||||
* @throws UnsupportedOperationException when this operation is not
|
||||
* supported
|
||||
*/
|
||||
void clear();
|
||||
|
||||
/**
|
||||
* Returns <code>true</code> iff I contain
|
||||
* the specified element.
|
||||
*
|
||||
* @param element the value whose presence within me is to be tested
|
||||
* @return <code>true</code> iff I contain the specified element
|
||||
*/
|
||||
boolean contains(float element);
|
||||
|
||||
/**
|
||||
* Returns <code>true</code> iff I {@link #contains contain}
|
||||
* all of the elements in the given collection.
|
||||
*
|
||||
* @param c the collection of elements whose presence within me is to
|
||||
* be tested
|
||||
* @return <code>true</code> iff I contain the all the specified elements
|
||||
*/
|
||||
boolean containsAll(FloatCollection c);
|
||||
|
||||
/**
|
||||
* Returns <code>true</code> iff I contain no elements.
|
||||
* @return <code>true</code> iff I contain no elements.
|
||||
*/
|
||||
boolean isEmpty();
|
||||
|
||||
/**
|
||||
* Returns an {@link FloatIterator iterator} over all my elements.
|
||||
* This base interface places no constraints on the order
|
||||
* in which the elements are returned by the returned iterator.
|
||||
* @return an {@link FloatIterator iterator} over all my elements.
|
||||
*/
|
||||
FloatIterator iterator();
|
||||
|
||||
/**
|
||||
* Removes all of my elements that are contained in the
|
||||
* specified collection (optional operation).
|
||||
* The behavior of this method is unspecified if
|
||||
* the given collection is modified while this method
|
||||
* is executing. Note that this includes the case
|
||||
* in which the given collection is this collection,
|
||||
* and it is not empty.
|
||||
*
|
||||
* @param c the collection of elements to remove
|
||||
* @return <code>true</code> iff I contained the at least one of the
|
||||
* specified elements, in other words, returns <code>true</code>
|
||||
* iff I changed as a result of this call
|
||||
*
|
||||
* @throws UnsupportedOperationException when this operation is not
|
||||
* supported
|
||||
*/
|
||||
boolean removeAll(FloatCollection c);
|
||||
|
||||
/**
|
||||
* Removes a single occurrence of the specified element
|
||||
* (optional operation).
|
||||
*
|
||||
* @param element the element to remove, if present
|
||||
* @return <code>true</code> iff I contained the specified element,
|
||||
* in other words, iff I changed as a result of this call
|
||||
*
|
||||
* @throws UnsupportedOperationException when this operation is not
|
||||
* supported
|
||||
*/
|
||||
boolean removeElement(float element);
|
||||
|
||||
/**
|
||||
* Removes all of my elements that are <i>not</i> contained in the
|
||||
* specified collection (optional operation).
|
||||
* (In other words, retains <i>only</i> my elements that are
|
||||
* contained in the specified collection.)
|
||||
* The behavior of this method is unspecified if
|
||||
* the given collection is modified while this method
|
||||
* is executing.
|
||||
*
|
||||
* @param c the collection of elements to retain
|
||||
* @return <code>true</code> iff I changed as a result
|
||||
* of this call
|
||||
*
|
||||
* @throws UnsupportedOperationException when this operation is not
|
||||
* supported
|
||||
*/
|
||||
boolean retainAll(FloatCollection c);
|
||||
|
||||
/**
|
||||
* Returns the number of elements I contain.
|
||||
* @return the number of elements I contain
|
||||
*/
|
||||
int size();
|
||||
|
||||
/**
|
||||
* Returns an array containing all of my elements.
|
||||
* The length of the returned array will be equal
|
||||
* to my {@link #size size}.
|
||||
* <p/>
|
||||
* The returned array will be independent of me,
|
||||
* so that callers may modify that
|
||||
* returned array without modifying this collection.
|
||||
* <p/>
|
||||
* When I guarantee the order in which
|
||||
* elements are returned by an {@link #iterator iterator},
|
||||
* the returned array will contain elements in the
|
||||
* same order.
|
||||
*
|
||||
* @return an array containing all my elements
|
||||
*/
|
||||
float[] toArray();
|
||||
|
||||
/**
|
||||
* Returns an array containing all of my elements,
|
||||
* using the given array if it is large
|
||||
* enough. When the length of the given array is
|
||||
* larger than the number of elements I contain,
|
||||
* values outside of my range will be unchanged.
|
||||
* <p/>
|
||||
* The returned array will be independent of me,
|
||||
* so that callers may modify that
|
||||
* returned array without modifying this collection.
|
||||
* <p/>
|
||||
* When I guarantee the order in which
|
||||
* elements are returned by an {@link #iterator iterator},
|
||||
* the returned array will contain elements in the
|
||||
* same order.
|
||||
*
|
||||
* @param a an array that may be used to contain the elements
|
||||
* @return an array containing all my elements
|
||||
*/
|
||||
float[] toArray(float[] a);
|
||||
}
|
|
@ -0,0 +1,101 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/java/org/apache/commons/collections/primitives/Attic/FloatIterator.java,v 1.1 2003/04/13 22:08:08 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives;
|
||||
|
||||
/**
|
||||
* An iterator over <code>float</code> values.
|
||||
*
|
||||
* @see org.apache.commons.collections.primitives.adapters.FloatIteratorIterator
|
||||
* @see org.apache.commons.collections.primitives.adapters.IteratorFloatIterator
|
||||
*
|
||||
* @since Commons Collections 2.2
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:08 $
|
||||
*
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
public interface FloatIterator {
|
||||
/**
|
||||
* Returns <code>true</code> iff I have more elements.
|
||||
* (In other words, returns <code>true</code> iff
|
||||
* a subsequent call to {@link #next next} will return
|
||||
* an element rather than throwing an exception.)
|
||||
*
|
||||
* @return <code>true</code> iff I have more elements
|
||||
*/
|
||||
boolean hasNext();
|
||||
|
||||
/**
|
||||
* Returns the next element in me.
|
||||
*
|
||||
* @return the next element in me
|
||||
* @throws NoSuchElementException if there is no next element
|
||||
*/
|
||||
float next();
|
||||
|
||||
/**
|
||||
* Removes from my underlying collection the last
|
||||
* element {@link #next returned} by me
|
||||
* (optional operation).
|
||||
*
|
||||
* @throws UnsupportedOperationException if this operation is not supported
|
||||
* @throws IllegalStateException if {@link #next} has not yet been
|
||||
* called, or {@link #remove} has already been called since
|
||||
* the last call to {@link #next}.
|
||||
*/
|
||||
void remove();
|
||||
}
|
|
@ -0,0 +1,291 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/java/org/apache/commons/collections/primitives/Attic/FloatList.java,v 1.1 2003/04/13 22:08:08 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2002-2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives;
|
||||
|
||||
/**
|
||||
* An ordered collection of <code>float</code> values.
|
||||
*
|
||||
* @see org.apache.commons.collections.primitives.adapters.FloatListList
|
||||
* @see org.apache.commons.collections.primitives.adapters.ListFloatList
|
||||
*
|
||||
* @since Commons Collections 2.2
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:08 $
|
||||
*
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
public interface FloatList extends FloatCollection {
|
||||
/**
|
||||
* Appends the specified element to the end of me
|
||||
* (optional operation). Returns <code>true</code>
|
||||
* iff I changed as a result of this call.
|
||||
* <p/>
|
||||
* If a collection refuses to add the specified
|
||||
* element for any reason other than that it already contains
|
||||
* the element, it <i>must</i> throw an exception (rather than
|
||||
* simply returning <tt>false</tt>). This preserves the invariant
|
||||
* that a collection always contains the specified element after
|
||||
* this call returns.
|
||||
*
|
||||
* @param element the value whose presence within me is to be ensured
|
||||
* @return <code>true</code> iff I changed as a result of this call
|
||||
*
|
||||
* @throws UnsupportedOperationException when this operation is not
|
||||
* supported
|
||||
* @throws IllegalArgumentException may be thrown if some aspect of the
|
||||
* specified element prevents it from being added to me
|
||||
*/
|
||||
boolean add(float element);
|
||||
|
||||
/**
|
||||
* Inserts the specified element at the specified position
|
||||
* (optional operation). Shifts the element currently
|
||||
* at that position (if any) and any subsequent elements to the
|
||||
* right, increasing their indices.
|
||||
*
|
||||
* @param index the index at which to insert the element
|
||||
* @param element the value to insert
|
||||
*
|
||||
* @throws UnsupportedOperationException when this operation is not
|
||||
* supported
|
||||
* @throws IllegalArgumentException if some aspect of the specified element
|
||||
* prevents it from being added to me
|
||||
* @throws IndexOutOfBoundsException if the specified index is out of range
|
||||
*/
|
||||
void add(int index, float element);
|
||||
|
||||
/**
|
||||
* Inserts all of the elements in the specified collection into me,
|
||||
* at the specified position (optional operation). Shifts the
|
||||
* element currently at that position (if any) and any subsequent
|
||||
* elements to the right, increasing their indices. The new elements
|
||||
* will appear in the order that they are returned by the given
|
||||
* collection's {@link FloatCollection#iterator iterator}.
|
||||
*
|
||||
* @param index the index at which to insert the first element from
|
||||
* the specified collection
|
||||
* @param collection the {@link FloatCollection FloatCollection} of elements to add
|
||||
* @return <code>true</code> iff I changed as a result of this call
|
||||
*
|
||||
* @throws UnsupportedOperationException when this operation is not
|
||||
* supported
|
||||
* @throws IndexOutOfBoundsException if the specified index is out of range
|
||||
*/
|
||||
boolean addAll(int index, FloatCollection collection);
|
||||
|
||||
/**
|
||||
* Returns <code>true</code> iff <i>that</i> is an <code>FloatList</code>
|
||||
* that contains the same elements in the same order as me.
|
||||
* In other words, returns <code>true</code> iff <i>that</i> is
|
||||
* an <code>FloatList</code> that has the same {@link #size size} as me,
|
||||
* and for which the elements returned by its
|
||||
* {@link FloatList#iterator iterator} are equal (<code>==</code>) to
|
||||
* the corresponding elements within me.
|
||||
* (This contract ensures that this method works properly across
|
||||
* different implementations of the <code>FloatList</code> interface.)
|
||||
*
|
||||
* @param that the object to compare to me
|
||||
* @return <code>true</code> iff <i>that</i> is an <code>FloatList</code>
|
||||
* that contains the same elements in the same order as me
|
||||
*/
|
||||
boolean equals(Object that);
|
||||
|
||||
/**
|
||||
* Returns the value of the element at the specified position
|
||||
* within me.
|
||||
*
|
||||
* @param index the index of the element to return
|
||||
* @return the value of the element at the specified position
|
||||
* @throws IndexOutOfBoundsException if the specified index is out of range
|
||||
*/
|
||||
float get(int index);
|
||||
|
||||
/**
|
||||
* Returns my hash code.
|
||||
* <p />
|
||||
* The hash code of an <code>FloatList</code> is defined to be the
|
||||
* result of the following calculation:
|
||||
* <pre> int hash = 1;
|
||||
* for(FloatIterator iter = iterator(); iter.hasNext(); ) {
|
||||
* float value = iter.next();
|
||||
* hash = 31*hash + (int)(value ^ (value >>> 32));
|
||||
* }</pre>
|
||||
* <p />
|
||||
* This contract ensures that this method is consistent with
|
||||
* {@link #equals equals} and with the
|
||||
* {@link java.util.List#hashCode hashCode}
|
||||
* method of a {@link java.util.List List} of {@link Float}s.
|
||||
*
|
||||
* @return my hash code
|
||||
*/
|
||||
int hashCode();
|
||||
|
||||
/**
|
||||
* Returns the index of the first occurrence
|
||||
* of the specified element within me,
|
||||
* or <code>-1</code> if I do not contain
|
||||
* the element.
|
||||
*
|
||||
* @param element the element to search for
|
||||
* @return the smallest index of an element matching the specified value,
|
||||
* or <code>-1</code> if no such matching element can be found
|
||||
*/
|
||||
int indexOf(float element);
|
||||
|
||||
/**
|
||||
* Returns an {@link FloatIterator iterator} over all my elements,
|
||||
* in the appropriate sequence.
|
||||
* @return an {@link FloatIterator iterator} over all my elements.
|
||||
*/
|
||||
FloatIterator iterator();
|
||||
|
||||
/**
|
||||
* Returns the index of the last occurrence
|
||||
* of the specified element within me,
|
||||
* or -1 if I do not contain the element.
|
||||
*
|
||||
* @param element the element to search for
|
||||
* @return the largest index of an element matching the specified value,
|
||||
* or <code>-1</code> if no such matching element can be found
|
||||
*/
|
||||
int lastIndexOf(float element);
|
||||
|
||||
/**
|
||||
* Returns a
|
||||
* {@link FloatListIterator bidirectional iterator}
|
||||
* over all my elements, in the appropriate sequence.
|
||||
*/
|
||||
FloatListIterator listIterator();
|
||||
|
||||
/**
|
||||
* Returns a
|
||||
* {@link FloatListIterator bidirectional iterator}
|
||||
* over all my elements, in the appropriate sequence,
|
||||
* starting at the specified position. The
|
||||
* specified <i>index</i> indicates the first
|
||||
* element that would be returned by an initial
|
||||
* call to the
|
||||
* {@link FloatListIterator#next next}
|
||||
* method. An initial call to the
|
||||
* {@link FloatListIterator#previous previous}
|
||||
* method would return the element with the specified
|
||||
* <i>index</i> minus one.
|
||||
*
|
||||
* @throws IndexOutOfBoundsException if the specified index is out of range
|
||||
*/
|
||||
FloatListIterator listIterator(int index);
|
||||
|
||||
/**
|
||||
* Removes the element at the specified position in
|
||||
* (optional operation). Any subsequent elements
|
||||
* are shifted to the left, subtracting one from their
|
||||
* indices. Returns the element that was removed.
|
||||
*
|
||||
* @param index the index of the element to remove
|
||||
* @return the value of the element that was removed
|
||||
*
|
||||
* @throws UnsupportedOperationException when this operation is not
|
||||
* supported
|
||||
* @throws IndexOutOfBoundsException if the specified index is out of range
|
||||
*/
|
||||
float removeElementAt(int index);
|
||||
|
||||
/**
|
||||
* Replaces the element at the specified
|
||||
* position in me with the specified element
|
||||
* (optional operation).
|
||||
*
|
||||
* @param index the index of the element to change
|
||||
* @param element the value to be stored at the specified position
|
||||
* @return the value previously stored at the specified position
|
||||
*
|
||||
* @throws UnsupportedOperationException when this operation is not
|
||||
* supported
|
||||
* @throws IndexOutOfBoundsException if the specified index is out of range
|
||||
*/
|
||||
float set(int index, float element);
|
||||
|
||||
/**
|
||||
* Returns a view of the elements within me
|
||||
* between the specified <i>fromIndex</i>, inclusive, and
|
||||
* <i>toIndex</i>, exclusive. The returned <code>FloatList</code>
|
||||
* is backed by me, so that any changes in
|
||||
* the returned list are reflected in me, and vice-versa.
|
||||
* The returned list supports all of the optional operations
|
||||
* that I support.
|
||||
* <p/>
|
||||
* Note that when <code><i>fromIndex</i> == <i>toIndex</i></code>,
|
||||
* the returned list is initially empty, and when
|
||||
* <code><i>fromIndex</i> == 0 && <i>toIndex</i> == {@link #size() size()}</code>
|
||||
* the returned list is my "improper" sublist, containing all my elements.
|
||||
* <p/>
|
||||
* The semantics of the returned list become undefined
|
||||
* if I am structurally modified in any way other than
|
||||
* via the returned list.
|
||||
*
|
||||
* @param fromIndex the smallest index (inclusive) in me that appears in
|
||||
* the returned list
|
||||
* @param toIndex the largest index (exclusive) in me that appears in the
|
||||
* returned list
|
||||
* @return a view of this list from <i>fromIndex</i> (inclusive) to
|
||||
* <i>toIndex</i> (exclusive)
|
||||
*
|
||||
* @throws IndexOutOfBoundsException if either specified index is out of range
|
||||
*/
|
||||
FloatList subList(int fromIndex, int toIndex);
|
||||
|
||||
}
|
|
@ -0,0 +1,186 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/java/org/apache/commons/collections/primitives/Attic/FloatListIterator.java,v 1.1 2003/04/13 22:08:08 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives;
|
||||
|
||||
/**
|
||||
* A bi-directional iterator over <code>float</code> values.
|
||||
*
|
||||
* @see org.apache.commons.collections.primitives.adapters.FloatListIteratorListIterator
|
||||
* @see org.apache.commons.collections.primitives.adapters.ListIteratorFloatListIterator
|
||||
*
|
||||
* @since Commons Collections 2.2
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:08 $
|
||||
*
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
public interface FloatListIterator extends FloatIterator {
|
||||
/**
|
||||
* Inserts the specified element into my underlying collection
|
||||
* (optional operation).
|
||||
* The element is inserted immediately before the next element
|
||||
* that would have been returned by {@link #next}, if any,
|
||||
* and immediately after the next element that would have been
|
||||
* returned by {@link #previous}, if any.
|
||||
* <p/>
|
||||
* The new element is inserted immediately before the implied
|
||||
* cursor. A subsequent call to {@link #previous} will return
|
||||
* the added element, a subsequent call to {@link #next} will
|
||||
* be unaffected. This call increases by one the value that
|
||||
* would be returned by a call to {@link #nextIndex} or
|
||||
* {@link #previousIndex}.
|
||||
*
|
||||
* @param element the value to be inserted
|
||||
*
|
||||
* @throws UnsupportedOperationException when this operation is not
|
||||
* supported
|
||||
* @throws IllegalArgumentException if some aspect of the specified element
|
||||
* prevents it from being added
|
||||
*/
|
||||
void add(float element);
|
||||
|
||||
/**
|
||||
* Returns <code>true</code> iff I have more elements
|
||||
* when traversed in the forward direction.
|
||||
* (In other words, returns <code>true</code> iff
|
||||
* a call to {@link #next} will return an element
|
||||
* rather than throwing an exception.
|
||||
*
|
||||
* @return <code>true</code> iff I have more elements when
|
||||
* traversed in the forward direction
|
||||
*/
|
||||
boolean hasNext();
|
||||
|
||||
/**
|
||||
* Returns <code>true</code> iff I have more elements
|
||||
* when traversed in the reverse direction.
|
||||
* (In other words, returns <code>true</code> iff
|
||||
* a call to {@link #previous} will return an element
|
||||
* rather than throwing an exception.
|
||||
*
|
||||
* @return <code>true</code> iff I have more elements when
|
||||
* traversed in the reverse direction
|
||||
*/
|
||||
boolean hasPrevious();
|
||||
|
||||
/**
|
||||
* Returns the next element in me when traversed in the
|
||||
* forward direction.
|
||||
*
|
||||
* @return the next element in me
|
||||
* @throws NoSuchElementException if there is no next element
|
||||
*/
|
||||
float next();
|
||||
|
||||
/**
|
||||
* Returns the index of the element that would be returned
|
||||
* by a subsequent call to {@link #next}, or the number
|
||||
* of elements in my iteration if I have no next element.
|
||||
*
|
||||
* @return the index of the next element in me
|
||||
*/
|
||||
int nextIndex();
|
||||
|
||||
/**
|
||||
* Returns the next element in me when traversed in the
|
||||
* reverse direction.
|
||||
*
|
||||
* @return the previous element in me
|
||||
* @throws NoSuchElementException if there is no previous element
|
||||
*/
|
||||
float previous();
|
||||
|
||||
/**
|
||||
* Returns the index of the element that would be returned
|
||||
* by a subsequent call to {@link #previous}, or
|
||||
* <code>-1</code> if I have no previous element.
|
||||
*
|
||||
* @return the index of the previous element in me
|
||||
*/
|
||||
int previousIndex();
|
||||
|
||||
/**
|
||||
* Removes from my underlying collection the last
|
||||
* element returned by {@link #next} or {@link #previous}
|
||||
* (optional operation).
|
||||
*
|
||||
* @throws UnsupportedOperationException if this operation is not
|
||||
* supported
|
||||
* @throws IllegalStateException if neither {@link #next} nor
|
||||
* {@link #previous} has yet been called, or
|
||||
* {@link #remove} or {@link #add} has already been called since
|
||||
* the last call to {@link #next} or {@link #previous}.
|
||||
*/
|
||||
void remove();
|
||||
|
||||
/**
|
||||
* Replaces in my underlying collection the last
|
||||
* element returned by {@link #next} or {@link #previous}
|
||||
* with the specified value (optional operation).
|
||||
*
|
||||
* @param element the value to replace the last returned element with
|
||||
* @throws UnsupportedOperationException if this operation is not
|
||||
* supported
|
||||
* @throws IllegalStateException if neither {@link #next} nor
|
||||
* {@link #previous} has yet been called, or
|
||||
* {@link #remove} or {@link #add} has already been called since
|
||||
* the last call to {@link #next} or {@link #previous}.
|
||||
* @throws IllegalArgumentException if some aspect of the specified element
|
||||
* prevents it from being added
|
||||
*/
|
||||
void set(float element);
|
||||
}
|
|
@ -0,0 +1,151 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/java/org/apache/commons/collections/primitives/adapters/Attic/AbstractCollectionFloatCollection.java,v 1.1 2003/04/13 22:08:06 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives.adapters;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.apache.commons.collections.primitives.FloatCollection;
|
||||
import org.apache.commons.collections.primitives.FloatIterator;
|
||||
|
||||
/**
|
||||
* @since Commons Collections 2.2
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:06 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
abstract class AbstractCollectionFloatCollection implements FloatCollection {
|
||||
protected AbstractCollectionFloatCollection() {
|
||||
}
|
||||
|
||||
public boolean add(float element) {
|
||||
return getCollection().add(new Float(element));
|
||||
}
|
||||
|
||||
public boolean addAll(FloatCollection c) {
|
||||
return getCollection().addAll(FloatCollectionCollection.wrap(c));
|
||||
}
|
||||
|
||||
public void clear() {
|
||||
getCollection().clear();
|
||||
}
|
||||
|
||||
public boolean contains(float element) {
|
||||
return getCollection().contains(new Float(element));
|
||||
}
|
||||
|
||||
public boolean containsAll(FloatCollection c) {
|
||||
return getCollection().containsAll(FloatCollectionCollection.wrap(c));
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return getCollection().toString();
|
||||
}
|
||||
|
||||
public boolean isEmpty() {
|
||||
return getCollection().isEmpty();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link IteratorFloatIterator#wrap wraps} the
|
||||
* {@link java.util.Iterator Iterator}
|
||||
* returned by my underlying
|
||||
* {@link Collection Collection},
|
||||
* if any.
|
||||
*/
|
||||
public FloatIterator iterator() {
|
||||
return IteratorFloatIterator.wrap(getCollection().iterator());
|
||||
}
|
||||
|
||||
public boolean removeElement(float element) {
|
||||
return getCollection().remove(new Float(element));
|
||||
}
|
||||
|
||||
public boolean removeAll(FloatCollection c) {
|
||||
return getCollection().removeAll(FloatCollectionCollection.wrap(c));
|
||||
}
|
||||
|
||||
public boolean retainAll(FloatCollection c) {
|
||||
return getCollection().retainAll(FloatCollectionCollection.wrap(c));
|
||||
}
|
||||
|
||||
public int size() {
|
||||
return getCollection().size();
|
||||
}
|
||||
|
||||
public float[] toArray() {
|
||||
Object[] src = getCollection().toArray();
|
||||
float[] dest = new float[src.length];
|
||||
for(int i=0;i<src.length;i++) {
|
||||
dest[i] = ((Number)(src[i])).floatValue();
|
||||
}
|
||||
return dest;
|
||||
}
|
||||
|
||||
public float[] toArray(float[] dest) {
|
||||
Object[] src = getCollection().toArray();
|
||||
if(dest.length < src.length) {
|
||||
dest = new float[src.length];
|
||||
}
|
||||
for(int i=0;i<src.length;i++) {
|
||||
dest[i] = ((Number)(src[i])).floatValue();
|
||||
}
|
||||
return dest;
|
||||
}
|
||||
|
||||
protected abstract Collection getCollection();
|
||||
|
||||
}
|
|
@ -0,0 +1,154 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/java/org/apache/commons/collections/primitives/adapters/Attic/AbstractFloatCollectionCollection.java,v 1.1 2003/04/13 22:08:06 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives.adapters;
|
||||
|
||||
import java.lang.reflect.Array;
|
||||
import java.util.Collection;
|
||||
import java.util.Iterator;
|
||||
|
||||
import org.apache.commons.collections.primitives.FloatCollection;
|
||||
|
||||
/**
|
||||
* @since Commons Collections 2.2
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:06 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
abstract class AbstractFloatCollectionCollection implements Collection {
|
||||
|
||||
public boolean add(Object element) {
|
||||
return getFloatCollection().add(((Number)element).floatValue());
|
||||
}
|
||||
|
||||
public boolean addAll(Collection c) {
|
||||
return getFloatCollection().addAll(CollectionFloatCollection.wrap(c));
|
||||
}
|
||||
|
||||
public void clear() {
|
||||
getFloatCollection().clear();
|
||||
}
|
||||
|
||||
public boolean contains(Object element) {
|
||||
return getFloatCollection().contains(((Number)element).floatValue());
|
||||
}
|
||||
|
||||
|
||||
public boolean containsAll(Collection c) {
|
||||
return getFloatCollection().containsAll(CollectionFloatCollection.wrap(c));
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return getFloatCollection().toString();
|
||||
}
|
||||
|
||||
public boolean isEmpty() {
|
||||
return getFloatCollection().isEmpty();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link FloatIteratorIterator#wrap wraps} the
|
||||
* {@link org.apache.commons.collections.primitives.FloatIterator FloatIterator}
|
||||
* returned by my underlying
|
||||
* {@link FloatCollection FloatCollection},
|
||||
* if any.
|
||||
*/
|
||||
public Iterator iterator() {
|
||||
return FloatIteratorIterator.wrap(getFloatCollection().iterator());
|
||||
}
|
||||
|
||||
public boolean remove(Object element) {
|
||||
return getFloatCollection().removeElement(((Number)element).floatValue());
|
||||
}
|
||||
|
||||
public boolean removeAll(Collection c) {
|
||||
return getFloatCollection().removeAll(CollectionFloatCollection.wrap(c));
|
||||
}
|
||||
|
||||
public boolean retainAll(Collection c) {
|
||||
return getFloatCollection().retainAll(CollectionFloatCollection.wrap(c));
|
||||
}
|
||||
|
||||
public int size() {
|
||||
return getFloatCollection().size();
|
||||
}
|
||||
|
||||
public Object[] toArray() {
|
||||
float[] a = getFloatCollection().toArray();
|
||||
Object[] A = new Object[a.length];
|
||||
for(int i=0;i<a.length;i++) {
|
||||
A[i] = new Float(a[i]);
|
||||
}
|
||||
return A;
|
||||
}
|
||||
|
||||
public Object[] toArray(Object[] A) {
|
||||
float[] a = getFloatCollection().toArray();
|
||||
if(A.length < a.length) {
|
||||
A = (Object[])(Array.newInstance(A.getClass().getComponentType(), a.length));
|
||||
}
|
||||
for(int i=0;i<a.length;i++) {
|
||||
A[i] = new Float(a[i]);
|
||||
}
|
||||
if(A.length > a.length) {
|
||||
A[a.length] = null;
|
||||
}
|
||||
|
||||
return A;
|
||||
}
|
||||
|
||||
protected abstract FloatCollection getFloatCollection();
|
||||
}
|
|
@ -0,0 +1,164 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/java/org/apache/commons/collections/primitives/adapters/Attic/AbstractFloatListList.java,v 1.1 2003/04/13 22:08:07 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives.adapters;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.ListIterator;
|
||||
|
||||
import org.apache.commons.collections.primitives.FloatCollection;
|
||||
import org.apache.commons.collections.primitives.FloatList;
|
||||
|
||||
/**
|
||||
* @since Commons Collections 2.2
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:07 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
abstract class AbstractFloatListList extends AbstractFloatCollectionCollection implements List {
|
||||
|
||||
public void add(int index, Object element) {
|
||||
getFloatList().add(index,((Number)element).floatValue());
|
||||
}
|
||||
|
||||
public boolean addAll(int index, Collection c) {
|
||||
return getFloatList().addAll(index,CollectionFloatCollection.wrap(c));
|
||||
}
|
||||
|
||||
public Object get(int index) {
|
||||
return new Float(getFloatList().get(index));
|
||||
}
|
||||
|
||||
public int indexOf(Object element) {
|
||||
return getFloatList().indexOf(((Number)element).floatValue());
|
||||
}
|
||||
|
||||
public int lastIndexOf(Object element) {
|
||||
return getFloatList().lastIndexOf(((Number)element).floatValue());
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link FloatListIteratorListIterator#wrap wraps} the
|
||||
* {@link org.apache.commons.collections.primitives.FloatListIterator FloatListIterator}
|
||||
* returned by my underlying
|
||||
* {@link FloatList FloatList},
|
||||
* if any.
|
||||
*/
|
||||
public ListIterator listIterator() {
|
||||
return FloatListIteratorListIterator.wrap(getFloatList().listIterator());
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link FloatListIteratorListIterator#wrap wraps} the
|
||||
* {@link org.apache.commons.collections.primitives.FloatListIterator FloatListIterator}
|
||||
* returned by my underlying
|
||||
* {@link FloatList FloatList},
|
||||
* if any.
|
||||
*/
|
||||
public ListIterator listIterator(int index) {
|
||||
return FloatListIteratorListIterator.wrap(getFloatList().listIterator(index));
|
||||
}
|
||||
|
||||
public Object remove(int index) {
|
||||
return new Float(getFloatList().removeElementAt(index));
|
||||
}
|
||||
|
||||
public Object set(int index, Object element) {
|
||||
return new Float(getFloatList().set(index, ((Number)element).floatValue() ));
|
||||
}
|
||||
|
||||
public List subList(int fromIndex, int toIndex) {
|
||||
return FloatListList.wrap(getFloatList().subList(fromIndex,toIndex));
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
if(obj instanceof List) {
|
||||
List that = (List)obj;
|
||||
if(this == that) {
|
||||
return true;
|
||||
} else if(this.size() != that.size()) {
|
||||
return false;
|
||||
} else {
|
||||
Iterator thisiter = iterator();
|
||||
Iterator thatiter = that.iterator();
|
||||
while(thisiter.hasNext()) {
|
||||
Object thiselt = thisiter.next();
|
||||
Object thatelt = thatiter.next();
|
||||
if(null == thiselt ? null != thatelt : !(thiselt.equals(thatelt))) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
return getFloatList().hashCode();
|
||||
}
|
||||
|
||||
protected final FloatCollection getFloatCollection() {
|
||||
return getFloatList();
|
||||
}
|
||||
|
||||
protected abstract FloatList getFloatList();
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,161 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/java/org/apache/commons/collections/primitives/adapters/Attic/AbstractListFloatList.java,v 1.1 2003/04/13 22:08:07 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives.adapters;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.collections.primitives.FloatCollection;
|
||||
import org.apache.commons.collections.primitives.FloatIterator;
|
||||
import org.apache.commons.collections.primitives.FloatList;
|
||||
import org.apache.commons.collections.primitives.FloatListIterator;
|
||||
|
||||
/**
|
||||
*
|
||||
* @since Commons Collections 2.2
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:07 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
abstract class AbstractListFloatList extends AbstractCollectionFloatCollection implements FloatList {
|
||||
|
||||
public void add(int index, float element) {
|
||||
getList().add(index,new Float(element));
|
||||
}
|
||||
|
||||
public boolean addAll(int index, FloatCollection collection) {
|
||||
return getList().addAll(index,FloatCollectionCollection.wrap(collection));
|
||||
}
|
||||
|
||||
public float get(int index) {
|
||||
return ((Number)getList().get(index)).floatValue();
|
||||
}
|
||||
|
||||
public int indexOf(float element) {
|
||||
return getList().indexOf(new Float(element));
|
||||
}
|
||||
|
||||
public int lastIndexOf(float element) {
|
||||
return getList().lastIndexOf(new Float(element));
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link ListIteratorFloatListIterator#wrap wraps} the
|
||||
* {@link FloatList FloatList}
|
||||
* returned by my underlying
|
||||
* {@link FloatListIterator FloatListIterator},
|
||||
* if any.
|
||||
*/
|
||||
public FloatListIterator listIterator() {
|
||||
return ListIteratorFloatListIterator.wrap(getList().listIterator());
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link ListIteratorFloatListIterator#wrap wraps} the
|
||||
* {@link FloatList FloatList}
|
||||
* returned by my underlying
|
||||
* {@link FloatListIterator FloatListIterator},
|
||||
* if any.
|
||||
*/
|
||||
public FloatListIterator listIterator(int index) {
|
||||
return ListIteratorFloatListIterator.wrap(getList().listIterator(index));
|
||||
}
|
||||
|
||||
public float removeElementAt(int index) {
|
||||
return ((Number)getList().remove(index)).floatValue();
|
||||
}
|
||||
|
||||
public float set(int index, float element) {
|
||||
return ((Number)getList().set(index,new Float(element))).floatValue();
|
||||
}
|
||||
|
||||
public FloatList subList(int fromIndex, int toIndex) {
|
||||
return ListFloatList.wrap(getList().subList(fromIndex,toIndex));
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
if(obj instanceof FloatList) {
|
||||
FloatList that = (FloatList)obj;
|
||||
if(this == that) {
|
||||
return true;
|
||||
} else if(this.size() != that.size()) {
|
||||
return false;
|
||||
} else {
|
||||
FloatIterator thisiter = iterator();
|
||||
FloatIterator thatiter = that.iterator();
|
||||
while(thisiter.hasNext()) {
|
||||
if(thisiter.next() != thatiter.next()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
return getList().hashCode();
|
||||
}
|
||||
|
||||
final protected Collection getCollection() {
|
||||
return getList();
|
||||
}
|
||||
|
||||
abstract protected List getList();
|
||||
}
|
|
@ -0,0 +1,114 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/java/org/apache/commons/collections/primitives/adapters/Attic/CollectionFloatCollection.java,v 1.1 2003/04/13 22:08:06 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives.adapters;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Collection;
|
||||
|
||||
import org.apache.commons.collections.primitives.FloatCollection;
|
||||
|
||||
/**
|
||||
* Adapts a {@link java.lang.Number Number}-valued
|
||||
* {@link java.util.Collection Collection} to the
|
||||
* {@link FloatCollection FloatCollection} interface.
|
||||
* <p />
|
||||
* This implementation delegates most methods
|
||||
* to the provided {@link Collection Collection}
|
||||
* implementation in the "obvious" way.
|
||||
*
|
||||
* @since Commons Collections 2.2
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:06 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
final public class CollectionFloatCollection extends AbstractCollectionFloatCollection implements Serializable {
|
||||
/**
|
||||
* Create an {@link FloatCollection FloatCollection} wrapping
|
||||
* the specified {@link Collection Collection}. When
|
||||
* the given <i>collection</i> is <code>null</code>,
|
||||
* returns <code>null</code>.
|
||||
*
|
||||
* @param collection the (possibly <code>null</code>) {@link Collection} to wrap
|
||||
* @return an {@link FloatCollection FloatCollection} wrapping the given
|
||||
* <i>collection</i>, or <code>null</code> when <i>collection</i> is
|
||||
* <code>null</code>.
|
||||
*/
|
||||
public static FloatCollection wrap(Collection collection) {
|
||||
if(null == collection) {
|
||||
return null;
|
||||
} else if(collection instanceof Serializable) {
|
||||
return new CollectionFloatCollection(collection);
|
||||
} else {
|
||||
return new NonSerializableCollectionFloatCollection(collection);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates an {@link FloatCollection FloatCollection} wrapping
|
||||
* the specified {@link Collection Collection}.
|
||||
* @see #wrap
|
||||
*/
|
||||
public CollectionFloatCollection(Collection collection) {
|
||||
_collection = collection;
|
||||
}
|
||||
|
||||
protected Collection getCollection() {
|
||||
return _collection;
|
||||
}
|
||||
|
||||
private Collection _collection = null;
|
||||
}
|
|
@ -0,0 +1,117 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/java/org/apache/commons/collections/primitives/adapters/Attic/FloatCollectionCollection.java,v 1.1 2003/04/13 22:08:07 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives.adapters;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Collection;
|
||||
|
||||
import org.apache.commons.collections.primitives.FloatCollection;
|
||||
|
||||
/**
|
||||
* Adapts an {@link FloatCollection FloatCollection}
|
||||
* to the {@link java.util.Collection Collection}
|
||||
* interface.
|
||||
* <p />
|
||||
* This implementation delegates most methods
|
||||
* to the provided {@link FloatCollection FloatCollection}
|
||||
* implementation in the "obvious" way.
|
||||
*
|
||||
* @since Commons Collections 2.2
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:07 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
final public class FloatCollectionCollection extends AbstractFloatCollectionCollection implements Serializable {
|
||||
|
||||
/**
|
||||
* Create a {@link Collection Collection} wrapping
|
||||
* the specified {@link FloatCollection FloatCollection}. When
|
||||
* the given <i>collection</i> is <code>null</code>,
|
||||
* returns <code>null</code>.
|
||||
*
|
||||
* @param collection the (possibly <code>null</code>)
|
||||
* {@link FloatCollection FloatCollection} to wrap
|
||||
* @return a {@link Collection Collection} wrapping the given
|
||||
* <i>collection</i>, or <code>null</code> when <i>collection</i> is
|
||||
* <code>null</code>.
|
||||
*/
|
||||
public static Collection wrap(FloatCollection collection) {
|
||||
if(null == collection) {
|
||||
return null;
|
||||
} else if(collection instanceof Serializable) {
|
||||
return new FloatCollectionCollection(collection);
|
||||
} else {
|
||||
return new NonSerializableFloatCollectionCollection(collection);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a {@link Collection Collection} wrapping
|
||||
* the specified {@link FloatCollection FloatCollection}.
|
||||
* @see #wrap
|
||||
*/
|
||||
public FloatCollectionCollection(FloatCollection collection) {
|
||||
_collection = collection;
|
||||
}
|
||||
|
||||
|
||||
protected FloatCollection getFloatCollection() {
|
||||
return _collection;
|
||||
}
|
||||
|
||||
private FloatCollection _collection = null;
|
||||
}
|
|
@ -0,0 +1,117 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/java/org/apache/commons/collections/primitives/adapters/Attic/FloatIteratorIterator.java,v 1.1 2003/04/13 22:08:06 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives.adapters;
|
||||
|
||||
import java.util.Iterator;
|
||||
|
||||
import org.apache.commons.collections.primitives.FloatIterator;
|
||||
|
||||
/**
|
||||
* Adapts an {@link FloatIterator FloatIterator} to the
|
||||
* {@link java.util.Iterator Iterator} interface.
|
||||
* <p />
|
||||
* This implementation delegates most methods
|
||||
* to the provided {@link FloatIterator FloatIterator}
|
||||
* implementation in the "obvious" way.
|
||||
*
|
||||
* @since Commons Collections 2.2
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:06 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
public class FloatIteratorIterator implements Iterator {
|
||||
|
||||
/**
|
||||
* Create an {@link Iterator Iterator} wrapping
|
||||
* the specified {@link FloatIterator FloatIterator}. When
|
||||
* the given <i>iterator</i> is <code>null</code>,
|
||||
* returns <code>null</code>.
|
||||
*
|
||||
* @param iterator the (possibly <code>null</code>)
|
||||
* {@link FloatIterator FloatIterator} to wrap
|
||||
* @return an {@link Iterator Iterator} wrapping the given
|
||||
* <i>iterator</i>, or <code>null</code> when <i>iterator</i> is
|
||||
* <code>null</code>.
|
||||
*/
|
||||
public static Iterator wrap(FloatIterator iterator) {
|
||||
return null == iterator ? null : new FloatIteratorIterator(iterator);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates an {@link Iterator Iterator} wrapping
|
||||
* the specified {@link FloatIterator FloatIterator}.
|
||||
* @see #wrap
|
||||
*/
|
||||
public FloatIteratorIterator(FloatIterator iterator) {
|
||||
_iterator = iterator;
|
||||
}
|
||||
|
||||
public boolean hasNext() {
|
||||
return _iterator.hasNext();
|
||||
}
|
||||
|
||||
public Object next() {
|
||||
return new Float(_iterator.next());
|
||||
}
|
||||
|
||||
public void remove() {
|
||||
_iterator.remove();
|
||||
}
|
||||
|
||||
private FloatIterator _iterator = null;
|
||||
|
||||
}
|
|
@ -0,0 +1,141 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/java/org/apache/commons/collections/primitives/adapters/Attic/FloatListIteratorListIterator.java,v 1.1 2003/04/13 22:08:06 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives.adapters;
|
||||
|
||||
import java.util.ListIterator;
|
||||
|
||||
import org.apache.commons.collections.primitives.FloatListIterator;
|
||||
|
||||
/**
|
||||
* Adapts an {@link FloatListIterator FloatListIterator} to the
|
||||
* {@link ListIterator ListIterator} interface.
|
||||
* <p />
|
||||
* This implementation delegates most methods
|
||||
* to the provided {@link FloatListIterator FloatListIterator}
|
||||
* implementation in the "obvious" way.
|
||||
*
|
||||
* @since Commons Collections 2.2
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:06 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
public class FloatListIteratorListIterator implements ListIterator {
|
||||
|
||||
/**
|
||||
* Create a {@link ListIterator ListIterator} wrapping
|
||||
* the specified {@link FloatListIterator FloatListIterator}. When
|
||||
* the given <i>iterator</i> is <code>null</code>,
|
||||
* returns <code>null</code>.
|
||||
*
|
||||
* @param iterator the (possibly <code>null</code>)
|
||||
* {@link FloatListIterator FloatListIterator} to wrap
|
||||
* @return a {@link ListIterator ListIterator} wrapping the given
|
||||
* <i>iterator</i>, or <code>null</code> when <i>iterator</i> is
|
||||
* <code>null</code>.
|
||||
*/
|
||||
public static ListIterator wrap(FloatListIterator iterator) {
|
||||
return null == iterator ? null : new FloatListIteratorListIterator(iterator);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates an {@link ListIterator ListIterator} wrapping
|
||||
* the specified {@link FloatListIterator FloatListIterator}.
|
||||
* @see #wrap
|
||||
*/
|
||||
public FloatListIteratorListIterator(FloatListIterator iterator) {
|
||||
_iterator = iterator;
|
||||
}
|
||||
|
||||
public int nextIndex() {
|
||||
return _iterator.nextIndex();
|
||||
}
|
||||
|
||||
public int previousIndex() {
|
||||
return _iterator.previousIndex();
|
||||
}
|
||||
|
||||
public boolean hasNext() {
|
||||
return _iterator.hasNext();
|
||||
}
|
||||
|
||||
public boolean hasPrevious() {
|
||||
return _iterator.hasPrevious();
|
||||
}
|
||||
|
||||
public Object next() {
|
||||
return new Float(_iterator.next());
|
||||
}
|
||||
|
||||
public Object previous() {
|
||||
return new Float(_iterator.previous());
|
||||
}
|
||||
|
||||
public void add(Object obj) {
|
||||
_iterator.add(((Number)obj).floatValue());
|
||||
}
|
||||
|
||||
public void set(Object obj) {
|
||||
_iterator.set(((Number)obj).floatValue());
|
||||
}
|
||||
|
||||
public void remove() {
|
||||
_iterator.remove();
|
||||
}
|
||||
|
||||
private FloatListIterator _iterator = null;
|
||||
|
||||
}
|
|
@ -0,0 +1,115 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/java/org/apache/commons/collections/primitives/adapters/Attic/FloatListList.java,v 1.1 2003/04/13 22:08:07 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives.adapters;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.collections.primitives.FloatList;
|
||||
|
||||
/**
|
||||
* Adapts an {@link FloatList FloatList} to the
|
||||
* {@link List List} interface.
|
||||
* <p />
|
||||
* This implementation delegates most methods
|
||||
* to the provided {@link FloatList FloatList}
|
||||
* implementation in the "obvious" way.
|
||||
*
|
||||
* @since Commons Collections 2.2
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:07 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
final public class FloatListList extends AbstractFloatListList implements Serializable {
|
||||
|
||||
/**
|
||||
* Create a {@link List List} wrapping
|
||||
* the specified {@link FloatList FloatList}. When
|
||||
* the given <i>list</i> is <code>null</code>,
|
||||
* returns <code>null</code>.
|
||||
*
|
||||
* @param list the (possibly <code>null</code>)
|
||||
* {@link FloatList FloatList} to wrap
|
||||
* @return a {@link List List} wrapping the given
|
||||
* <i>list</i>, or <code>null</code> when <i>list</i> is
|
||||
* <code>null</code>.
|
||||
*/
|
||||
public static List wrap(FloatList list) {
|
||||
if(null == list) {
|
||||
return null;
|
||||
} else if(list instanceof Serializable) {
|
||||
return new FloatListList(list);
|
||||
} else {
|
||||
return new NonSerializableFloatListList(list);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a {@link List List} wrapping
|
||||
* the specified {@link FloatList FloatList}.
|
||||
* @see #wrap
|
||||
*/
|
||||
public FloatListList(FloatList list) {
|
||||
_list = list;
|
||||
}
|
||||
|
||||
protected FloatList getFloatList() {
|
||||
return _list;
|
||||
}
|
||||
|
||||
private FloatList _list = null;
|
||||
}
|
|
@ -0,0 +1,119 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/java/org/apache/commons/collections/primitives/adapters/Attic/IteratorFloatIterator.java,v 1.1 2003/04/13 22:08:07 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives.adapters;
|
||||
|
||||
import java.util.Iterator;
|
||||
|
||||
import org.apache.commons.collections.primitives.FloatIterator;
|
||||
|
||||
/**
|
||||
* Adapts a {@link java.lang.Number Number}-valued
|
||||
* {@link Iterator Iterator}
|
||||
* to the {@link FloatIterator FloatIterator}
|
||||
* interface.
|
||||
* <p />
|
||||
* This implementation delegates most methods
|
||||
* to the provided {@link Iterator Iterator}
|
||||
* implementation in the "obvious" way.
|
||||
*
|
||||
* @since Commons Collections 2.2
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:07 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
public class IteratorFloatIterator implements FloatIterator {
|
||||
|
||||
/**
|
||||
* Create an {@link FloatIterator FloatIterator} wrapping
|
||||
* the specified {@link Iterator Iterator}. When
|
||||
* the given <i>iterator</i> is <code>null</code>,
|
||||
* returns <code>null</code>.
|
||||
*
|
||||
* @param iterator the (possibly <code>null</code>)
|
||||
* {@link Iterator Iterator} to wrap
|
||||
* @return an {@link FloatIterator FloatIterator} wrapping the given
|
||||
* <i>iterator</i>, or <code>null</code> when <i>iterator</i> is
|
||||
* <code>null</code>.
|
||||
*/
|
||||
public static FloatIterator wrap(Iterator iterator) {
|
||||
return null == iterator ? null : new IteratorFloatIterator(iterator);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates an {@link FloatIterator FloatIterator} wrapping
|
||||
* the specified {@link Iterator Iterator}.
|
||||
* @see #wrap
|
||||
*/
|
||||
public IteratorFloatIterator(Iterator iterator) {
|
||||
_iterator = iterator;
|
||||
}
|
||||
|
||||
public boolean hasNext() {
|
||||
return _iterator.hasNext();
|
||||
}
|
||||
|
||||
public float next() {
|
||||
return ((Number)(_iterator.next())).floatValue();
|
||||
}
|
||||
|
||||
public void remove() {
|
||||
_iterator.remove();
|
||||
}
|
||||
|
||||
private Iterator _iterator = null;
|
||||
|
||||
}
|
|
@ -0,0 +1,116 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/java/org/apache/commons/collections/primitives/adapters/Attic/ListFloatList.java,v 1.1 2003/04/13 22:08:07 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives.adapters;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.collections.primitives.FloatList;
|
||||
|
||||
/**
|
||||
* Adapts a {@link Number}-valued {@link List List}
|
||||
* to the {@link FloatList FloatList} interface.
|
||||
* <p />
|
||||
* This implementation delegates most methods
|
||||
* to the provided {@link List List}
|
||||
* implementation in the "obvious" way.
|
||||
*
|
||||
* @since Commons Collections 2.2
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:07 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
public class ListFloatList extends AbstractListFloatList implements Serializable {
|
||||
|
||||
/**
|
||||
* Create an {@link FloatList FloatList} wrapping
|
||||
* the specified {@link List List}. When
|
||||
* the given <i>list</i> is <code>null</code>,
|
||||
* returns <code>null</code>.
|
||||
*
|
||||
* @param list the (possibly <code>null</code>)
|
||||
* {@link List List} to wrap
|
||||
* @return a {@link FloatList FloatList} wrapping the given
|
||||
* <i>list</i>, or <code>null</code> when <i>list</i> is
|
||||
* <code>null</code>.
|
||||
*/
|
||||
public static FloatList wrap(List list) {
|
||||
if(null == list) {
|
||||
return null;
|
||||
} else if(list instanceof Serializable) {
|
||||
return new ListFloatList(list);
|
||||
} else {
|
||||
return new NonSerializableListFloatList(list);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates an {@link FloatList FloatList} wrapping
|
||||
* the specified {@link List List}.
|
||||
* @see #wrap
|
||||
*/
|
||||
public ListFloatList(List list) {
|
||||
_list = list;
|
||||
}
|
||||
|
||||
protected List getList() {
|
||||
return _list;
|
||||
}
|
||||
|
||||
private List _list = null;
|
||||
|
||||
}
|
|
@ -0,0 +1,141 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/java/org/apache/commons/collections/primitives/adapters/Attic/ListIteratorFloatListIterator.java,v 1.1 2003/04/13 22:08:07 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives.adapters;
|
||||
|
||||
import java.util.ListIterator;
|
||||
|
||||
import org.apache.commons.collections.primitives.FloatListIterator;
|
||||
|
||||
/**
|
||||
* Adapts a {@link Number}-valued {@link ListIterator ListIterator}
|
||||
* to the {@link FloatListIterator FloatListIterator} interface.
|
||||
* <p />
|
||||
* This implementation delegates most methods
|
||||
* to the provided {@link FloatListIterator FloatListIterator}
|
||||
* implementation in the "obvious" way.
|
||||
*
|
||||
* @since Commons Collections 2.2
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:07 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
public class ListIteratorFloatListIterator implements FloatListIterator {
|
||||
|
||||
/**
|
||||
* Create an {@link FloatListIterator FloatListIterator} wrapping
|
||||
* the specified {@link ListIterator ListIterator}. When
|
||||
* the given <i>iterator</i> is <code>null</code>,
|
||||
* returns <code>null</code>.
|
||||
*
|
||||
* @param iterator the (possibly <code>null</code>)
|
||||
* {@link ListIterator ListIterator} to wrap
|
||||
* @return an {@link FloatListIterator FloatListIterator} wrapping the given
|
||||
* <i>iterator</i>, or <code>null</code> when <i>iterator</i> is
|
||||
* <code>null</code>.
|
||||
*/
|
||||
public static FloatListIterator wrap(ListIterator iterator) {
|
||||
return null == iterator ? null : new ListIteratorFloatListIterator(iterator);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates an {@link FloatListIterator FloatListIterator} wrapping
|
||||
* the specified {@link ListIterator ListIterator}.
|
||||
* @see #wrap
|
||||
*/
|
||||
public ListIteratorFloatListIterator(ListIterator iterator) {
|
||||
_iterator = iterator;
|
||||
}
|
||||
|
||||
public int nextIndex() {
|
||||
return _iterator.nextIndex();
|
||||
}
|
||||
|
||||
public int previousIndex() {
|
||||
return _iterator.previousIndex();
|
||||
}
|
||||
|
||||
public boolean hasNext() {
|
||||
return _iterator.hasNext();
|
||||
}
|
||||
|
||||
public boolean hasPrevious() {
|
||||
return _iterator.hasPrevious();
|
||||
}
|
||||
|
||||
public float next() {
|
||||
return ((Number)_iterator.next()).floatValue();
|
||||
}
|
||||
|
||||
public float previous() {
|
||||
return ((Number)_iterator.previous()).floatValue();
|
||||
}
|
||||
|
||||
public void add(float element) {
|
||||
_iterator.add(new Float(element));
|
||||
}
|
||||
|
||||
public void set(float element) {
|
||||
_iterator.set(new Float(element));
|
||||
}
|
||||
|
||||
public void remove() {
|
||||
_iterator.remove();
|
||||
}
|
||||
|
||||
private ListIterator _iterator = null;
|
||||
|
||||
}
|
|
@ -0,0 +1,78 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/java/org/apache/commons/collections/primitives/adapters/Attic/NonSerializableCollectionFloatCollection.java,v 1.1 2003/04/13 22:08:06 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives.adapters;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* @since Commons Collections 2.2
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:06 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
final class NonSerializableCollectionFloatCollection extends AbstractCollectionFloatCollection {
|
||||
public NonSerializableCollectionFloatCollection(Collection collection) {
|
||||
_collection = collection;
|
||||
}
|
||||
|
||||
protected Collection getCollection() {
|
||||
return _collection;
|
||||
}
|
||||
|
||||
private Collection _collection = null;
|
||||
|
||||
}
|
|
@ -0,0 +1,82 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/java/org/apache/commons/collections/primitives/adapters/Attic/NonSerializableFloatCollectionCollection.java,v 1.1 2003/04/13 22:08:06 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives.adapters;
|
||||
|
||||
import org.apache.commons.collections.primitives.FloatCollection;
|
||||
|
||||
/**
|
||||
* @since Commons Collections 2.2
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:06 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
final class NonSerializableFloatCollectionCollection extends AbstractFloatCollectionCollection {
|
||||
|
||||
/**
|
||||
* Creates a {@link Collection Collection} wrapping
|
||||
* the specified {@link FloatCollection FloatCollection}.
|
||||
*/
|
||||
public NonSerializableFloatCollectionCollection(FloatCollection collection) {
|
||||
_collection = collection;
|
||||
}
|
||||
|
||||
protected FloatCollection getFloatCollection() {
|
||||
return _collection;
|
||||
}
|
||||
|
||||
private FloatCollection _collection = null;
|
||||
}
|
|
@ -0,0 +1,83 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/java/org/apache/commons/collections/primitives/adapters/Attic/NonSerializableFloatListList.java,v 1.1 2003/04/13 22:08:06 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives.adapters;
|
||||
|
||||
import org.apache.commons.collections.primitives.FloatList;
|
||||
|
||||
/**
|
||||
* @since Commons Collections 2.2
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:06 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
final class NonSerializableFloatListList extends AbstractFloatListList {
|
||||
|
||||
/**
|
||||
* Creates a {@link List List} wrapping
|
||||
* the specified {@link FloatList FloatList}.
|
||||
*/
|
||||
public NonSerializableFloatListList(FloatList list) {
|
||||
_list = list;
|
||||
}
|
||||
|
||||
protected FloatList getFloatList() {
|
||||
return _list;
|
||||
}
|
||||
|
||||
private FloatList _list = null;
|
||||
|
||||
}
|
|
@ -0,0 +1,80 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/java/org/apache/commons/collections/primitives/adapters/Attic/NonSerializableListFloatList.java,v 1.1 2003/04/13 22:08:06 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives.adapters;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* @since Commons Collections 2.2
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:06 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
final class NonSerializableListFloatList extends AbstractListFloatList {
|
||||
|
||||
protected NonSerializableListFloatList(List list) {
|
||||
_list = list;
|
||||
}
|
||||
|
||||
protected List getList() {
|
||||
return _list;
|
||||
}
|
||||
|
||||
private List _list = null;
|
||||
|
||||
}
|
|
@ -0,0 +1,113 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/primitives/Attic/TestAbstractFloatCollection.java,v 1.1 2003/04/13 22:08:08 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2002-2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
import junit.framework.TestSuite;
|
||||
|
||||
import org.apache.commons.collections.primitives.adapters.IteratorFloatIterator;
|
||||
|
||||
/**
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:08 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
public class TestAbstractFloatCollection extends TestCase {
|
||||
|
||||
// conventional
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
public TestAbstractFloatCollection(String testName) {
|
||||
super(testName);
|
||||
}
|
||||
|
||||
public static Test suite() {
|
||||
return new TestSuite(TestAbstractFloatCollection.class);
|
||||
}
|
||||
|
||||
// tests
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
public void testAddIsUnsupportedByDefault() {
|
||||
FloatCollection col = new FloatCollectionImpl();
|
||||
try {
|
||||
col.add((float)1);
|
||||
fail("Expected UnsupportedOperationException");
|
||||
} catch(UnsupportedOperationException e) {
|
||||
// expected
|
||||
}
|
||||
}
|
||||
// inner classes
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
|
||||
static class FloatCollectionImpl extends AbstractFloatCollection {
|
||||
public FloatCollectionImpl() {
|
||||
}
|
||||
|
||||
public FloatIterator iterator() {
|
||||
return new IteratorFloatIterator(Collections.EMPTY_LIST.iterator());
|
||||
}
|
||||
|
||||
public int size() {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,155 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/primitives/Attic/TestAbstractRandomAccessFloatList.java,v 1.1 2003/04/13 22:08:09 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2002-2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
import junit.framework.TestSuite;
|
||||
|
||||
/**
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:09 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
public class TestAbstractRandomAccessFloatList extends TestCase {
|
||||
|
||||
// conventional
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
public TestAbstractRandomAccessFloatList(String testName) {
|
||||
super(testName);
|
||||
}
|
||||
|
||||
public static Test suite() {
|
||||
return new TestSuite(TestAbstractRandomAccessFloatList.class);
|
||||
}
|
||||
|
||||
// tests
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
public void testAddIsUnsupportedByDefault() {
|
||||
AbstractRandomAccessFloatList list = new AbstractRandomAccessFloatListImpl();
|
||||
try {
|
||||
list.add((float)1);
|
||||
fail("Expected UnsupportedOperationException");
|
||||
} catch(UnsupportedOperationException e) {
|
||||
// expected
|
||||
}
|
||||
try {
|
||||
list.set(0,(float)1);
|
||||
fail("Expected UnsupportedOperationException");
|
||||
} catch(UnsupportedOperationException e) {
|
||||
// expected
|
||||
}
|
||||
}
|
||||
|
||||
public void testAddAllIsUnsupportedByDefault() {
|
||||
AbstractRandomAccessFloatList list = new AbstractRandomAccessFloatListImpl();
|
||||
FloatList list2 = new ArrayFloatList();
|
||||
list2.add((float)3);
|
||||
try {
|
||||
list.addAll(list2);
|
||||
fail("Expected UnsupportedOperationException");
|
||||
} catch(UnsupportedOperationException e) {
|
||||
// expected
|
||||
}
|
||||
}
|
||||
|
||||
public void testSetIsUnsupportedByDefault() {
|
||||
AbstractRandomAccessFloatList list = new AbstractRandomAccessFloatListImpl();
|
||||
try {
|
||||
list.set(0,(float)1);
|
||||
fail("Expected UnsupportedOperationException");
|
||||
} catch(UnsupportedOperationException e) {
|
||||
// expected
|
||||
}
|
||||
}
|
||||
|
||||
public void testRemoveElementIsUnsupportedByDefault() {
|
||||
AbstractRandomAccessFloatList list = new AbstractRandomAccessFloatListImpl();
|
||||
try {
|
||||
list.removeElementAt(0);
|
||||
fail("Expected UnsupportedOperationException");
|
||||
} catch(UnsupportedOperationException e) {
|
||||
// expected
|
||||
}
|
||||
}
|
||||
|
||||
// inner classes
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
|
||||
static class AbstractRandomAccessFloatListImpl extends AbstractRandomAccessFloatList {
|
||||
public AbstractRandomAccessFloatListImpl() {
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.commons.collections.primitives.FloatList#get(int)
|
||||
*/
|
||||
public float get(int index) {
|
||||
throw new IndexOutOfBoundsException();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.commons.collections.primitives.FloatCollection#size()
|
||||
*/
|
||||
public int size() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/primitives/Attic/TestAll.java,v 1.13 2003/04/11 21:50:15 rwaldhoff Exp $
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/primitives/Attic/TestAll.java,v 1.14 2003/04/13 22:08:08 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
|
@ -62,7 +62,7 @@ import junit.framework.TestCase;
|
|||
import junit.framework.TestSuite;
|
||||
|
||||
/**
|
||||
* @version $Revision: 1.13 $ $Date: 2003/04/11 21:50:15 $
|
||||
* @version $Revision: 1.14 $ $Date: 2003/04/13 22:08:08 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
public class TestAll extends TestCase {
|
||||
|
@ -93,6 +93,10 @@ public class TestAll extends TestCase {
|
|||
suite.addTest(TestArrayLongList.suite());
|
||||
suite.addTest(TestArrayUnsignedIntList.suite());
|
||||
|
||||
suite.addTest(TestAbstractFloatCollection.suite());
|
||||
suite.addTest(TestAbstractRandomAccessFloatList.suite());
|
||||
suite.addTest(TestArrayFloatList.suite());
|
||||
|
||||
suite.addTest(org.apache.commons.collections.primitives.adapters.TestAll.suite());
|
||||
|
||||
suite.addTest(TestUnsignedByteArrayList.suite());
|
||||
|
|
|
@ -0,0 +1,222 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/primitives/Attic/TestArrayFloatList.java,v 1.1 2003/04/13 22:08:09 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2002-2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestSuite;
|
||||
|
||||
import org.apache.commons.collections.BulkTest;
|
||||
|
||||
/**
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:09 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
public class TestArrayFloatList extends TestFloatList {
|
||||
|
||||
// conventional
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
public TestArrayFloatList(String testName) {
|
||||
super(testName);
|
||||
}
|
||||
|
||||
public static Test suite() {
|
||||
TestSuite suite = BulkTest.makeSuite(TestArrayFloatList.class);
|
||||
return suite;
|
||||
}
|
||||
|
||||
// collections testing framework
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
protected FloatList makeEmptyFloatList() {
|
||||
return new ArrayFloatList();
|
||||
}
|
||||
|
||||
public String[] ignoredSimpleTests() {
|
||||
// sublists are not serializable
|
||||
return new String[] {
|
||||
"TestArrayFloatList.bulkTestSubList.testFullListSerialization",
|
||||
"TestArrayFloatList.bulkTestSubList.testEmptyListSerialization",
|
||||
"TestArrayFloatList.bulkTestSubList.testCanonicalEmptyCollectionExists",
|
||||
"TestArrayFloatList.bulkTestSubList.testCanonicalFullCollectionExists",
|
||||
"TestArrayFloatList.bulkTestSubList.testEmptyListCompatibility",
|
||||
"TestArrayFloatList.bulkTestSubList.testFullListCompatibility",
|
||||
"TestArrayFloatList.bulkTestSubList.testSerializeDeserializeThenCompare",
|
||||
"TestArrayFloatList.bulkTestSubList.testSimpleSerialization"
|
||||
};
|
||||
}
|
||||
|
||||
// tests
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
/** @TODO need to add serialized form to cvs */
|
||||
public void testCanonicalEmptyCollectionExists() {
|
||||
// XXX FIX ME XXX
|
||||
// need to add a serialized form to cvs
|
||||
}
|
||||
|
||||
public void testCanonicalFullCollectionExists() {
|
||||
// XXX FIX ME XXX
|
||||
// need to add a serialized form to cvs
|
||||
}
|
||||
|
||||
public void testEmptyListCompatibility() {
|
||||
// XXX FIX ME XXX
|
||||
// need to add a serialized form to cvs
|
||||
}
|
||||
|
||||
public void testFullListCompatibility() {
|
||||
// XXX FIX ME XXX
|
||||
// need to add a serialized form to cvs
|
||||
}
|
||||
|
||||
public void testAddGetLargeValues() {
|
||||
FloatList list = new ArrayFloatList();
|
||||
for (int i = 0; i < 1000; i++) {
|
||||
float value = ((float) (Float.MAX_VALUE));
|
||||
value -= i;
|
||||
list.add(value);
|
||||
}
|
||||
for (int i = 0; i < 1000; i++) {
|
||||
float value = ((float) (Float.MAX_VALUE));
|
||||
value -= i;
|
||||
assertEquals(value, list.get(i), 0f);
|
||||
}
|
||||
}
|
||||
|
||||
public void testZeroInitialCapacityIsValid() {
|
||||
ArrayFloatList list = new ArrayFloatList(0);
|
||||
}
|
||||
|
||||
public void testNegativeInitialCapacityIsInvalid() {
|
||||
try {
|
||||
ArrayFloatList list = new ArrayFloatList(-1);
|
||||
fail("Expected IllegalArgumentException");
|
||||
} catch(IllegalArgumentException e) {
|
||||
// expected
|
||||
}
|
||||
}
|
||||
|
||||
public void testCopyConstructor() {
|
||||
ArrayFloatList expected = new ArrayFloatList();
|
||||
for(int i=0;i<10;i++) {
|
||||
expected.add((float)i);
|
||||
}
|
||||
ArrayFloatList list = new ArrayFloatList(expected);
|
||||
assertEquals(10,list.size());
|
||||
assertEquals(expected,list);
|
||||
}
|
||||
|
||||
public void testCopyConstructorWithNull() {
|
||||
try {
|
||||
ArrayFloatList list = new ArrayFloatList(null);
|
||||
fail("Expected NullPointerException");
|
||||
} catch(NullPointerException e) {
|
||||
// expected
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void testTrimToSize() {
|
||||
ArrayFloatList list = new ArrayFloatList();
|
||||
for(int j=0;j<3;j++) {
|
||||
assertTrue(list.isEmpty());
|
||||
|
||||
list.trimToSize();
|
||||
|
||||
assertTrue(list.isEmpty());
|
||||
|
||||
for(int i=0;i<10;i++) {
|
||||
list.add((float)i);
|
||||
}
|
||||
|
||||
for(int i=0;i<10;i++) {
|
||||
assertEquals((float)i,list.get(i), 0f);
|
||||
}
|
||||
|
||||
list.trimToSize();
|
||||
|
||||
for(int i=0;i<10;i++) {
|
||||
assertEquals((float)i,list.get(i), 0f);
|
||||
}
|
||||
|
||||
for(int i=0;i<10;i+=2) {
|
||||
list.removeElement((float)i);
|
||||
}
|
||||
|
||||
for(int i=0;i<5;i++) {
|
||||
assertEquals((float)(2*i)+1,list.get(i), 0f);
|
||||
}
|
||||
|
||||
list.trimToSize();
|
||||
|
||||
for(int i=0;i<5;i++) {
|
||||
assertEquals((float)(2*i)+1,list.get(i), 0f);
|
||||
}
|
||||
|
||||
list.trimToSize();
|
||||
|
||||
for(int i=0;i<5;i++) {
|
||||
assertEquals((float)(2*i)+1,list.get(i), 0f);
|
||||
}
|
||||
|
||||
list.clear();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,157 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/primitives/Attic/TestFloatIterator.java,v 1.1 2003/04/13 22:08:09 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.NoSuchElementException;
|
||||
|
||||
import org.apache.commons.collections.iterators.TestIterator;
|
||||
import org.apache.commons.collections.primitives.adapters.FloatIteratorIterator;
|
||||
|
||||
/**
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:09 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
public abstract class TestFloatIterator extends TestIterator {
|
||||
|
||||
// conventional
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
public TestFloatIterator(String testName) {
|
||||
super(testName);
|
||||
}
|
||||
|
||||
// collections testing framework
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
protected Object makeObject() {
|
||||
return makeFullIterator();
|
||||
}
|
||||
|
||||
public Iterator makeEmptyIterator() {
|
||||
return FloatIteratorIterator.wrap(makeEmptyFloatIterator());
|
||||
}
|
||||
|
||||
public Iterator makeFullIterator() {
|
||||
return FloatIteratorIterator.wrap(makeFullFloatIterator());
|
||||
}
|
||||
|
||||
|
||||
protected abstract FloatIterator makeEmptyFloatIterator();
|
||||
protected abstract FloatIterator makeFullFloatIterator();
|
||||
protected abstract float[] getFullElements();
|
||||
|
||||
// tests
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
public void testNextHasNextRemove() {
|
||||
float[] elements = getFullElements();
|
||||
FloatIterator iter = makeFullFloatIterator();
|
||||
for(int i=0;i<elements.length;i++) {
|
||||
assertTrue(iter.hasNext());
|
||||
assertEquals(elements[i],iter.next(),0f);
|
||||
if(supportsRemove()) {
|
||||
iter.remove();
|
||||
}
|
||||
}
|
||||
assertTrue(! iter.hasNext() );
|
||||
}
|
||||
|
||||
public void testEmptyFloatIterator() {
|
||||
assertTrue( ! makeEmptyFloatIterator().hasNext() );
|
||||
try {
|
||||
makeEmptyFloatIterator().next();
|
||||
fail("Expected NoSuchElementException");
|
||||
} catch(NoSuchElementException e) {
|
||||
// expected
|
||||
}
|
||||
if(supportsRemove()) {
|
||||
try {
|
||||
makeEmptyFloatIterator().remove();
|
||||
fail("Expected IllegalStateException");
|
||||
} catch(IllegalStateException e) {
|
||||
// expected
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void testRemoveBeforeNext() {
|
||||
if(supportsRemove()) {
|
||||
try {
|
||||
makeFullFloatIterator().remove();
|
||||
fail("Expected IllegalStateException");
|
||||
} catch(IllegalStateException e) {
|
||||
// expected
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void testRemoveAfterRemove() {
|
||||
if(supportsRemove()) {
|
||||
FloatIterator iter = makeFullFloatIterator();
|
||||
iter.next();
|
||||
iter.remove();
|
||||
try {
|
||||
iter.remove();
|
||||
fail("Expected IllegalStateException");
|
||||
} catch(IllegalStateException e) {
|
||||
// expected
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,425 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/primitives/Attic/TestFloatList.java,v 1.1 2003/04/13 22:08:09 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2002-2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.collections.TestList;
|
||||
import org.apache.commons.collections.primitives.adapters.FloatListList;
|
||||
import org.apache.commons.collections.primitives.adapters.ListFloatList;
|
||||
|
||||
/**
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:09 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
public abstract class TestFloatList extends TestList {
|
||||
|
||||
// conventional
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
public TestFloatList(String testName) {
|
||||
super(testName);
|
||||
}
|
||||
|
||||
// collections testing framework
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
// collections testing framework: float list
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
protected abstract FloatList makeEmptyFloatList();
|
||||
|
||||
protected FloatList makeFullFloatList() {
|
||||
FloatList list = makeEmptyFloatList();
|
||||
float[] values = getFullFloats();
|
||||
for(int i=0;i<values.length;i++) {
|
||||
list.add(values[i]);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
protected float[] getFullFloats() {
|
||||
float[] result = new float[19];
|
||||
for(int i = 0; i < result.length; i++) {
|
||||
result[i] = (float)(i);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
protected float[] getOtherFloats() {
|
||||
float[] result = new float[16];
|
||||
for(int i = 0; i < result.length; i++) {
|
||||
result[i] = (float)(i + 43);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
// collections testing framework: inherited
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
protected List makeEmptyList() {
|
||||
return new FloatListList(makeEmptyFloatList());
|
||||
}
|
||||
|
||||
protected Object[] getFullElements() {
|
||||
return wrapArray(getFullFloats());
|
||||
}
|
||||
|
||||
protected Object[] getOtherElements() {
|
||||
return wrapArray(getOtherFloats());
|
||||
}
|
||||
|
||||
// private utils
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
private Float[] wrapArray(float[] primitives) {
|
||||
Float[] result = new Float[primitives.length];
|
||||
for(int i=0;i<result.length;i++) {
|
||||
result[i] = new Float(primitives[i]);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
// tests
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
public void testToJustBigEnoughFloatArray() {
|
||||
FloatList list = makeFullFloatList();
|
||||
float[] dest = new float[list.size()];
|
||||
assertSame(dest,list.toArray(dest));
|
||||
int i=0;
|
||||
for(FloatIterator iter = list.iterator(); iter.hasNext();i++) {
|
||||
assertEquals(iter.next(),dest[i], 0f);
|
||||
}
|
||||
}
|
||||
|
||||
public void testToLargerThanNeededFloatArray() {
|
||||
FloatList list = makeFullFloatList();
|
||||
float[] dest = new float[list.size()*2];
|
||||
for(int i=0;i<dest.length;i++) {
|
||||
dest[i] = Float.MAX_VALUE;
|
||||
}
|
||||
assertSame(dest,list.toArray(dest));
|
||||
int i=0;
|
||||
for(FloatIterator iter = list.iterator(); iter.hasNext();i++) {
|
||||
assertEquals(iter.next(),dest[i], 0f);
|
||||
}
|
||||
for(;i<dest.length;i++) {
|
||||
assertEquals(Float.MAX_VALUE,dest[i], 0f);
|
||||
}
|
||||
}
|
||||
|
||||
public void testToSmallerThanNeededFloatArray() {
|
||||
FloatList list = makeFullFloatList();
|
||||
float[] dest = new float[list.size()/2];
|
||||
float[] dest2 = list.toArray(dest);
|
||||
assertTrue(dest != dest2);
|
||||
int i=0;
|
||||
for(FloatIterator iter = list.iterator(); iter.hasNext();i++) {
|
||||
assertEquals(iter.next(),dest2[i], 0f);
|
||||
}
|
||||
}
|
||||
|
||||
public void testHashCodeSpecification() {
|
||||
FloatList list = makeFullFloatList();
|
||||
int hash = 1;
|
||||
for(FloatIterator iter = list.iterator(); iter.hasNext(); ) {
|
||||
hash = 31*hash + Float.floatToIntBits(iter.next());
|
||||
}
|
||||
assertEquals(hash,list.hashCode());
|
||||
}
|
||||
|
||||
public void testEqualsWithTwoFloatLists() {
|
||||
FloatList one = makeEmptyFloatList();
|
||||
assertEquals("Equals is reflexive on empty list",one,one);
|
||||
FloatList two = makeEmptyFloatList();
|
||||
assertEquals("Empty lists are equal",one,two);
|
||||
assertEquals("Equals is symmetric on empty lists",two,one);
|
||||
|
||||
one.add((float)1);
|
||||
assertEquals("Equals is reflexive on non empty list",one,one);
|
||||
assertTrue(!one.equals(two));
|
||||
assertTrue(!two.equals(one));
|
||||
|
||||
two.add((float)1);
|
||||
assertEquals("Non empty lists are equal",one,two);
|
||||
assertEquals("Equals is symmetric on non empty list",one,two);
|
||||
|
||||
one.add((float)1); one.add((float)2); one.add((float)3); one.add((float)5); one.add((float)8);
|
||||
assertEquals("Equals is reflexive on larger non empty list",one,one);
|
||||
assertTrue(!one.equals(two));
|
||||
assertTrue(!two.equals(one));
|
||||
|
||||
two.add((float)1); two.add((float)2); two.add((float)3); two.add((float)5); two.add((float)8);
|
||||
assertEquals("Larger non empty lists are equal",one,two);
|
||||
assertEquals("Equals is symmetric on larger non empty list",two,one);
|
||||
|
||||
one.add((float)9);
|
||||
two.add((float)10);
|
||||
assertTrue(!one.equals(two));
|
||||
assertTrue(!two.equals(one));
|
||||
|
||||
}
|
||||
|
||||
public void testFloatSubListEquals() {
|
||||
FloatList one = makeEmptyFloatList();
|
||||
assertEquals(one,one.subList(0,0));
|
||||
assertEquals(one.subList(0,0),one);
|
||||
|
||||
one.add((float)1);
|
||||
assertEquals(one,one.subList(0,1));
|
||||
assertEquals(one.subList(0,1),one);
|
||||
|
||||
one.add((float)1); one.add((float)2); one.add((float)3); one.add((float)5); one.add((float)8);
|
||||
assertEquals(one.subList(0,4),one.subList(0,4));
|
||||
assertEquals(one.subList(3,5),one.subList(3,5));
|
||||
}
|
||||
|
||||
public void testEqualsWithFloatListAndList() {
|
||||
FloatList ilist = makeEmptyFloatList();
|
||||
List list = new ArrayList();
|
||||
|
||||
assertTrue("Unwrapped, empty List should not be equal to empty FloatList.",!ilist.equals(list));
|
||||
assertTrue("Unwrapped, empty FloatList should not be equal to empty List.",!list.equals(ilist));
|
||||
|
||||
assertEquals(new ListFloatList(list),ilist);
|
||||
assertEquals(ilist,new ListFloatList(list));
|
||||
assertEquals(new FloatListList(ilist),list);
|
||||
assertEquals(list,new FloatListList(ilist));
|
||||
|
||||
ilist.add((float)1);
|
||||
list.add(new Float((float)1));
|
||||
|
||||
assertTrue("Unwrapped, non-empty List is not equal to non-empty FloatList.",!ilist.equals(list));
|
||||
assertTrue("Unwrapped, non-empty FloatList is not equal to non-empty List.",!list.equals(ilist));
|
||||
|
||||
assertEquals(new ListFloatList(list),ilist);
|
||||
assertEquals(ilist,new ListFloatList(list));
|
||||
assertEquals(new FloatListList(ilist),list);
|
||||
assertEquals(list,new FloatListList(ilist));
|
||||
|
||||
ilist.add((float)1); ilist.add((float)2); ilist.add((float)3); ilist.add((float)5); ilist.add((float)8);
|
||||
list.add(new Float((float)1)); list.add(new Float((float)2)); list.add(new Float((float)3)); list.add(new Float((float)5)); list.add(new Float((float)8));
|
||||
|
||||
assertTrue("Unwrapped, non-empty List is not equal to non-empty FloatList.",!ilist.equals(list));
|
||||
assertTrue("Unwrapped, non-empty FloatList is not equal to non-empty List.",!list.equals(ilist));
|
||||
|
||||
assertEquals(new ListFloatList(list),ilist);
|
||||
assertEquals(ilist,new ListFloatList(list));
|
||||
assertEquals(new FloatListList(ilist),list);
|
||||
assertEquals(list,new FloatListList(ilist));
|
||||
|
||||
}
|
||||
|
||||
public void testClearAndSize() {
|
||||
FloatList list = makeEmptyFloatList();
|
||||
assertEquals(0, list.size());
|
||||
for(int i = 0; i < 100; i++) {
|
||||
list.add((float)i);
|
||||
}
|
||||
assertEquals(100, list.size());
|
||||
list.clear();
|
||||
assertEquals(0, list.size());
|
||||
}
|
||||
|
||||
public void testRemoveViaSubList() {
|
||||
FloatList list = makeEmptyFloatList();
|
||||
for(int i = 0; i < 100; i++) {
|
||||
list.add((float)i);
|
||||
}
|
||||
FloatList sub = list.subList(25,75);
|
||||
assertEquals(50,sub.size());
|
||||
for(int i = 0; i < 50; i++) {
|
||||
assertEquals(100-i,list.size());
|
||||
assertEquals(50-i,sub.size());
|
||||
assertEquals((float)(25+i),sub.removeElementAt(0), 0f);
|
||||
assertEquals(50-i-1,sub.size());
|
||||
assertEquals(100-i-1,list.size());
|
||||
}
|
||||
assertEquals(0,sub.size());
|
||||
assertEquals(50,list.size());
|
||||
}
|
||||
|
||||
public void testAddGet() {
|
||||
FloatList list = makeEmptyFloatList();
|
||||
for (int i = 0; i < 255; i++) {
|
||||
list.add((float)i);
|
||||
}
|
||||
for (int i = 0; i < 255; i++) {
|
||||
assertEquals((float)i, list.get(i), 0f);
|
||||
}
|
||||
}
|
||||
|
||||
public void testAddAndShift() {
|
||||
FloatList list = makeEmptyFloatList();
|
||||
list.add(0, (float)1);
|
||||
assertEquals("Should have one entry", 1, list.size());
|
||||
list.add((float)3);
|
||||
list.add((float)4);
|
||||
list.add(1, (float)2);
|
||||
for(int i = 0; i < 4; i++) {
|
||||
assertEquals("Should get entry back", (float)(i + 1), list.get(i), 0f);
|
||||
}
|
||||
list.add(0, (float)0);
|
||||
for (int i = 0; i < 5; i++) {
|
||||
assertEquals("Should get entry back", (float)i, list.get(i), 0f);
|
||||
}
|
||||
}
|
||||
|
||||
public void testIsSerializable() throws Exception {
|
||||
FloatList list = makeFullFloatList();
|
||||
assertTrue(list instanceof Serializable);
|
||||
byte[] ser = writeExternalFormToBytes((Serializable)list);
|
||||
FloatList deser = (FloatList)(readExternalFormFromBytes(ser));
|
||||
assertEquals(list,deser);
|
||||
assertEquals(deser,list);
|
||||
}
|
||||
|
||||
public void testFloatListSerializeDeserializeThenCompare() throws Exception {
|
||||
FloatList list = makeFullFloatList();
|
||||
if(list instanceof Serializable) {
|
||||
byte[] ser = writeExternalFormToBytes((Serializable)list);
|
||||
FloatList deser = (FloatList)(readExternalFormFromBytes(ser));
|
||||
assertEquals("obj != deserialize(serialize(obj))",list,deser);
|
||||
}
|
||||
}
|
||||
|
||||
public void testSubListsAreNotSerializable() throws Exception {
|
||||
FloatList list = makeFullFloatList().subList(2,3);
|
||||
assertTrue( ! (list instanceof Serializable) );
|
||||
}
|
||||
|
||||
public void testSubListOutOfBounds() throws Exception {
|
||||
try {
|
||||
makeEmptyFloatList().subList(2,3);
|
||||
fail("Expected IndexOutOfBoundsException");
|
||||
} catch(IndexOutOfBoundsException e) {
|
||||
// expected
|
||||
}
|
||||
|
||||
try {
|
||||
makeFullFloatList().subList(-1,3);
|
||||
fail("Expected IndexOutOfBoundsException");
|
||||
} catch(IndexOutOfBoundsException e) {
|
||||
// expected
|
||||
}
|
||||
|
||||
|
||||
try {
|
||||
makeFullFloatList().subList(5,2);
|
||||
fail("Expected IllegalArgumentException");
|
||||
} catch(IllegalArgumentException e) {
|
||||
// expected
|
||||
}
|
||||
|
||||
try {
|
||||
makeFullFloatList().subList(2,makeFullFloatList().size()+2);
|
||||
fail("Expected IndexOutOfBoundsException");
|
||||
} catch(IndexOutOfBoundsException e) {
|
||||
// expected
|
||||
}
|
||||
}
|
||||
|
||||
public void testListIteratorOutOfBounds() throws Exception {
|
||||
try {
|
||||
makeEmptyFloatList().listIterator(2);
|
||||
fail("Expected IndexOutOfBoundsException");
|
||||
} catch(IndexOutOfBoundsException e) {
|
||||
// expected
|
||||
}
|
||||
|
||||
try {
|
||||
makeFullFloatList().listIterator(-1);
|
||||
fail("Expected IndexOutOfBoundsException");
|
||||
} catch(IndexOutOfBoundsException e) {
|
||||
// expected
|
||||
}
|
||||
|
||||
try {
|
||||
makeFullFloatList().listIterator(makeFullFloatList().size()+2);
|
||||
fail("Expected IndexOutOfBoundsException");
|
||||
} catch(IndexOutOfBoundsException e) {
|
||||
// expected
|
||||
}
|
||||
}
|
||||
|
||||
public void testListIteratorSetWithoutNext() throws Exception {
|
||||
FloatListIterator iter = makeFullFloatList().listIterator();
|
||||
try {
|
||||
iter.set((float)3);
|
||||
fail("Expected IllegalStateException");
|
||||
} catch(IllegalStateException e) {
|
||||
// expected
|
||||
}
|
||||
}
|
||||
|
||||
public void testListIteratorSetAfterRemove() throws Exception {
|
||||
FloatListIterator iter = makeFullFloatList().listIterator();
|
||||
iter.next();
|
||||
iter.remove();
|
||||
try {
|
||||
iter.set((float)3);
|
||||
fail("Expected IllegalStateException");
|
||||
} catch(IllegalStateException e) {
|
||||
// expected
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,91 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/primitives/Attic/TestFloatListIterator.java,v 1.1 2003/04/13 22:08:09 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives;
|
||||
|
||||
/**
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:09 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
public abstract class TestFloatListIterator extends TestFloatIterator {
|
||||
|
||||
// conventional
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
public TestFloatListIterator(String testName) {
|
||||
super(testName);
|
||||
}
|
||||
|
||||
// collections testing framework
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
public FloatIterator makeEmptyFloatIterator() {
|
||||
return makeEmptyFloatListIterator();
|
||||
}
|
||||
|
||||
public FloatIterator makeFullFloatIterator() {
|
||||
return makeFullFloatListIterator();
|
||||
}
|
||||
|
||||
public abstract FloatListIterator makeEmptyFloatListIterator();
|
||||
public abstract FloatListIterator makeFullFloatListIterator();
|
||||
|
||||
// tests
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/primitives/adapters/Attic/TestAll.java,v 1.4 2003/04/11 00:55:36 rwaldhoff Exp $
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/primitives/adapters/Attic/TestAll.java,v 1.5 2003/04/13 22:08:07 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
|
@ -62,7 +62,7 @@ import junit.framework.TestCase;
|
|||
import junit.framework.TestSuite;
|
||||
|
||||
/**
|
||||
* @version $Revision: 1.4 $ $Date: 2003/04/11 00:55:36 $
|
||||
* @version $Revision: 1.5 $ $Date: 2003/04/13 22:08:07 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
public class TestAll extends TestCase {
|
||||
|
@ -105,6 +105,15 @@ public class TestAll extends TestCase {
|
|||
suite.addTest(TestLongIteratorIterator.suite());
|
||||
suite.addTest(TestLongListIteratorListIterator.suite());
|
||||
|
||||
suite.addTest(TestCollectionFloatCollection.suite());
|
||||
suite.addTest(TestFloatCollectionCollection.suite());
|
||||
suite.addTest(TestFloatListList.suite());
|
||||
suite.addTest(TestListFloatList.suite());
|
||||
suite.addTest(TestIteratorFloatIterator.suite());
|
||||
suite.addTest(TestListIteratorFloatListIterator.suite());
|
||||
suite.addTest(TestFloatIteratorIterator.suite());
|
||||
suite.addTest(TestFloatListIteratorListIterator.suite());
|
||||
|
||||
return suite;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,136 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/primitives/adapters/Attic/TestCollectionFloatCollection.java,v 1.1 2003/04/13 22:08:07 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives.adapters;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.AbstractList;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestSuite;
|
||||
|
||||
import org.apache.commons.collections.TestObject;
|
||||
import org.apache.commons.collections.primitives.FloatCollection;
|
||||
|
||||
/**
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:07 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
public class TestCollectionFloatCollection extends TestObject {
|
||||
|
||||
// conventional
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
public TestCollectionFloatCollection(String testName) {
|
||||
super(testName);
|
||||
}
|
||||
|
||||
public static Test suite() {
|
||||
return new TestSuite(TestCollectionFloatCollection.class);
|
||||
}
|
||||
|
||||
// collections testing framework
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
protected Object makeObject() {
|
||||
List list = new ArrayList();
|
||||
for(int i=0;i<10;i++) {
|
||||
list.add(new Float((float)i));
|
||||
}
|
||||
return new CollectionFloatCollection(list);
|
||||
}
|
||||
|
||||
public void testSerializeDeserializeThenCompare() {
|
||||
// Collection.equal contract doesn't work that way
|
||||
}
|
||||
|
||||
/** @TODO need to add serialized form to cvs */
|
||||
public void testCanonicalEmptyCollectionExists() {
|
||||
// XXX FIX ME XXX
|
||||
// need to add a serialized form to cvs
|
||||
}
|
||||
|
||||
public void testCanonicalFullCollectionExists() {
|
||||
// XXX FIX ME XXX
|
||||
// need to add a serialized form to cvs
|
||||
}
|
||||
|
||||
// tests
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
public void testWrapNull() {
|
||||
assertNull(CollectionFloatCollection.wrap(null));
|
||||
}
|
||||
|
||||
public void testWrapSerializable() {
|
||||
FloatCollection collection = CollectionFloatCollection.wrap(new ArrayList());
|
||||
assertNotNull(collection);
|
||||
assertTrue(collection instanceof Serializable);
|
||||
}
|
||||
|
||||
public void testWrapNonSerializable() {
|
||||
FloatCollection collection = CollectionFloatCollection.wrap(new AbstractList() {
|
||||
public Object get(int i) { throw new IndexOutOfBoundsException(); }
|
||||
public int size() { return 0; }
|
||||
});
|
||||
assertNotNull(collection);
|
||||
assertTrue(!(collection instanceof Serializable));
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,136 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/primitives/adapters/Attic/TestFloatCollectionCollection.java,v 1.1 2003/04/13 22:08:07 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives.adapters;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Collection;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestSuite;
|
||||
|
||||
import org.apache.commons.collections.TestObject;
|
||||
import org.apache.commons.collections.primitives.AbstractRandomAccessFloatList;
|
||||
import org.apache.commons.collections.primitives.ArrayFloatList;
|
||||
import org.apache.commons.collections.primitives.FloatList;
|
||||
|
||||
/**
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:07 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
public class TestFloatCollectionCollection extends TestObject {
|
||||
|
||||
// conventional
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
public TestFloatCollectionCollection(String testName) {
|
||||
super(testName);
|
||||
}
|
||||
|
||||
public static Test suite() {
|
||||
return new TestSuite(TestFloatCollectionCollection.class);
|
||||
}
|
||||
|
||||
// collections testing framework
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
protected Object makeObject() {
|
||||
FloatList list = new ArrayFloatList();
|
||||
for(int i=0;i<10;i++) {
|
||||
list.add((float)i);
|
||||
}
|
||||
return new FloatCollectionCollection(list);
|
||||
}
|
||||
|
||||
public void testSerializeDeserializeThenCompare() {
|
||||
// Collection.equal contract doesn't work that way
|
||||
}
|
||||
|
||||
/** @TODO need to add serialized form to cvs */
|
||||
public void testCanonicalEmptyCollectionExists() {
|
||||
// XXX FIX ME XXX
|
||||
// need to add a serialized form to cvs
|
||||
}
|
||||
|
||||
public void testCanonicalFullCollectionExists() {
|
||||
// XXX FIX ME XXX
|
||||
// need to add a serialized form to cvs
|
||||
}
|
||||
|
||||
// tests
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
public void testWrapNull() {
|
||||
assertNull(FloatCollectionCollection.wrap(null));
|
||||
}
|
||||
|
||||
public void testWrapSerializable() {
|
||||
Collection collection = FloatCollectionCollection.wrap(new ArrayFloatList());
|
||||
assertNotNull(collection);
|
||||
assertTrue(collection instanceof Serializable);
|
||||
}
|
||||
|
||||
public void testWrapNonSerializable() {
|
||||
Collection collection = FloatCollectionCollection.wrap(new AbstractRandomAccessFloatList() {
|
||||
public float get(int i) { throw new IndexOutOfBoundsException(); }
|
||||
public int size() { return 0; }
|
||||
});
|
||||
assertNotNull(collection);
|
||||
assertTrue(!(collection instanceof Serializable));
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,122 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/primitives/adapters/Attic/TestFloatIteratorIterator.java,v 1.1 2003/04/13 22:08:07 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives.adapters;
|
||||
|
||||
import java.util.Iterator;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestSuite;
|
||||
|
||||
import org.apache.commons.collections.iterators.TestIterator;
|
||||
import org.apache.commons.collections.primitives.ArrayFloatList;
|
||||
import org.apache.commons.collections.primitives.FloatList;
|
||||
|
||||
/**
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:07 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
public class TestFloatIteratorIterator extends TestIterator {
|
||||
|
||||
// conventional
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
public TestFloatIteratorIterator(String testName) {
|
||||
super(testName);
|
||||
}
|
||||
|
||||
public static Test suite() {
|
||||
return new TestSuite(TestFloatIteratorIterator.class);
|
||||
}
|
||||
|
||||
// collections testing framework
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
public Object makeObject() {
|
||||
return makeFullIterator();
|
||||
}
|
||||
|
||||
public Iterator makeEmptyIterator() {
|
||||
return FloatIteratorIterator.wrap(makeEmptyFloatList().iterator());
|
||||
}
|
||||
|
||||
public Iterator makeFullIterator() {
|
||||
return FloatIteratorIterator.wrap(makeFullFloatList().iterator());
|
||||
}
|
||||
|
||||
protected FloatList makeEmptyFloatList() {
|
||||
return new ArrayFloatList();
|
||||
}
|
||||
|
||||
protected FloatList makeFullFloatList() {
|
||||
FloatList list = makeEmptyFloatList();
|
||||
float[] elts = getFullElements();
|
||||
for(int i=0;i<elts.length;i++) {
|
||||
list.add((float)elts[i]);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
public float[] getFullElements() {
|
||||
return new float[] { (float)0, (float)1, (float)2, (float)3, (float)4, (float)5, (float)6, (float)7, (float)8, (float)9 };
|
||||
}
|
||||
|
||||
// tests
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,180 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/primitives/adapters/Attic/TestFloatListIteratorListIterator.java,v 1.1 2003/04/13 22:08:07 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives.adapters;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.NoSuchElementException;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestSuite;
|
||||
|
||||
import org.apache.commons.collections.iterators.TestIterator;
|
||||
import org.apache.commons.collections.primitives.ArrayFloatList;
|
||||
import org.apache.commons.collections.primitives.FloatList;
|
||||
|
||||
/**
|
||||
* @TODO should extend TestListIterator when there is one
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:07 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
public class TestFloatListIteratorListIterator extends TestIterator {
|
||||
|
||||
// conventional
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
public TestFloatListIteratorListIterator(String testName) {
|
||||
super(testName);
|
||||
}
|
||||
|
||||
public static Test suite() {
|
||||
return new TestSuite(TestFloatListIteratorListIterator.class);
|
||||
}
|
||||
|
||||
// collections testing framework
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
public Object makeObject() {
|
||||
return makeFullIterator();
|
||||
}
|
||||
|
||||
public Iterator makeEmptyIterator() {
|
||||
return FloatListIteratorListIterator.wrap(makeEmptyFloatList().listIterator());
|
||||
}
|
||||
|
||||
public Iterator makeFullIterator() {
|
||||
return FloatListIteratorListIterator.wrap(makeFullFloatList().listIterator());
|
||||
}
|
||||
|
||||
protected FloatList makeEmptyFloatList() {
|
||||
return new ArrayFloatList();
|
||||
}
|
||||
|
||||
protected FloatList makeFullFloatList() {
|
||||
FloatList list = makeEmptyFloatList();
|
||||
float[] elts = getFullElements();
|
||||
for(int i=0;i<elts.length;i++) {
|
||||
list.add((float)elts[i]);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
public float[] getFullElements() {
|
||||
return new float[] { (float)0, (float)1, (float)2, (float)3, (float)4, (float)5, (float)6, (float)7, (float)8, (float)9 };
|
||||
}
|
||||
|
||||
// tests
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
|
||||
public void testNextHasNextRemove() {
|
||||
float[] elements = getFullElements();
|
||||
Iterator iter = makeFullIterator();
|
||||
for(int i=0;i<elements.length;i++) {
|
||||
assertTrue(iter.hasNext());
|
||||
assertEquals(new Float(elements[i]),iter.next());
|
||||
if(supportsRemove()) {
|
||||
iter.remove();
|
||||
}
|
||||
}
|
||||
assertTrue(! iter.hasNext() );
|
||||
}
|
||||
|
||||
public void testEmptyIterator() {
|
||||
assertTrue( ! makeEmptyIterator().hasNext() );
|
||||
try {
|
||||
makeEmptyIterator().next();
|
||||
fail("Expected NoSuchElementException");
|
||||
} catch(NoSuchElementException e) {
|
||||
// expected
|
||||
}
|
||||
if(supportsRemove()) {
|
||||
try {
|
||||
makeEmptyIterator().remove();
|
||||
fail("Expected IllegalStateException");
|
||||
} catch(IllegalStateException e) {
|
||||
// expected
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void testRemoveBeforeNext() {
|
||||
if(supportsRemove()) {
|
||||
try {
|
||||
makeFullIterator().remove();
|
||||
fail("Expected IllegalStateException");
|
||||
} catch(IllegalStateException e) {
|
||||
// expected
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void testRemoveAfterRemove() {
|
||||
if(supportsRemove()) {
|
||||
Iterator iter = makeFullIterator();
|
||||
iter.next();
|
||||
iter.remove();
|
||||
try {
|
||||
iter.remove();
|
||||
fail("Expected IllegalStateException");
|
||||
} catch(IllegalStateException e) {
|
||||
// expected
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,155 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/primitives/adapters/Attic/TestFloatListList.java,v 1.1 2003/04/13 22:08:07 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives.adapters;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestSuite;
|
||||
|
||||
import org.apache.commons.collections.BulkTest;
|
||||
import org.apache.commons.collections.TestList;
|
||||
import org.apache.commons.collections.primitives.AbstractRandomAccessFloatList;
|
||||
import org.apache.commons.collections.primitives.ArrayFloatList;
|
||||
|
||||
/**
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:07 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
public class TestFloatListList extends TestList {
|
||||
|
||||
// conventional
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
public TestFloatListList(String testName) {
|
||||
super(testName);
|
||||
}
|
||||
|
||||
public static Test suite() {
|
||||
TestSuite suite = BulkTest.makeSuite(TestFloatListList.class);
|
||||
return suite;
|
||||
}
|
||||
|
||||
// collections testing framework
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
protected List makeEmptyList() {
|
||||
return new FloatListList(new ArrayFloatList());
|
||||
}
|
||||
|
||||
protected Object[] getFullElements() {
|
||||
Float[] elts = new Float[10];
|
||||
for(int i=0;i<elts.length;i++) {
|
||||
elts[i] = new Float((float)i);
|
||||
}
|
||||
return elts;
|
||||
}
|
||||
|
||||
protected Object[] getOtherElements() {
|
||||
Float[] elts = new Float[10];
|
||||
for(int i=0;i<elts.length;i++) {
|
||||
elts[i] = new Float((float)(10 + i));
|
||||
}
|
||||
return elts;
|
||||
}
|
||||
|
||||
// tests
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
/** @TODO need to add serialized form to cvs */
|
||||
|
||||
public void testCanonicalEmptyCollectionExists() {
|
||||
// XXX FIX ME XXX
|
||||
// need to add a serialized form to cvs
|
||||
}
|
||||
|
||||
public void testCanonicalFullCollectionExists() {
|
||||
// XXX FIX ME XXX
|
||||
// need to add a serialized form to cvs
|
||||
}
|
||||
|
||||
public void testEmptyListCompatibility() {
|
||||
// XXX FIX ME XXX
|
||||
// need to add a serialized form to cvs
|
||||
}
|
||||
|
||||
public void testFullListCompatibility() {
|
||||
// XXX FIX ME XXX
|
||||
// need to add a serialized form to cvs
|
||||
}
|
||||
|
||||
public void testWrapNull() {
|
||||
assertNull(FloatListList.wrap(null));
|
||||
}
|
||||
|
||||
public void testWrapSerializable() {
|
||||
List list = FloatListList.wrap(new ArrayFloatList());
|
||||
assertNotNull(list);
|
||||
assertTrue(list instanceof Serializable);
|
||||
}
|
||||
|
||||
public void testWrapNonSerializable() {
|
||||
List list = FloatListList.wrap(new AbstractRandomAccessFloatList() {
|
||||
public float get(int i) { throw new IndexOutOfBoundsException(); }
|
||||
public int size() { return 0; }
|
||||
});
|
||||
assertNotNull(list);
|
||||
assertTrue(!(list instanceof Serializable));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,118 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/primitives/adapters/Attic/TestIteratorFloatIterator.java,v 1.1 2003/04/13 22:08:07 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives.adapters;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestSuite;
|
||||
|
||||
import org.apache.commons.collections.primitives.FloatIterator;
|
||||
import org.apache.commons.collections.primitives.TestFloatIterator;
|
||||
|
||||
/**
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:07 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
public class TestIteratorFloatIterator extends TestFloatIterator {
|
||||
|
||||
// conventional
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
public TestIteratorFloatIterator(String testName) {
|
||||
super(testName);
|
||||
}
|
||||
|
||||
public static Test suite() {
|
||||
return new TestSuite(TestIteratorFloatIterator.class);
|
||||
}
|
||||
|
||||
// collections testing framework
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
public FloatIterator makeEmptyFloatIterator() {
|
||||
return IteratorFloatIterator.wrap(makeEmptyList().iterator());
|
||||
}
|
||||
|
||||
public FloatIterator makeFullFloatIterator() {
|
||||
return IteratorFloatIterator.wrap(makeFullList().iterator());
|
||||
}
|
||||
|
||||
protected List makeEmptyList() {
|
||||
return new ArrayList();
|
||||
}
|
||||
|
||||
protected List makeFullList() {
|
||||
List list = makeEmptyList();
|
||||
float[] elts = getFullElements();
|
||||
for(int i=0;i<elts.length;i++) {
|
||||
list.add(new Float(elts[i]));
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
public float[] getFullElements() {
|
||||
return new float[] { (float)0, (float)1, (float)2, (float)3, (float)4, (float)5, (float)6, (float)7, (float)8, (float)9 };
|
||||
}
|
||||
|
||||
// tests
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,155 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/primitives/adapters/Attic/TestListFloatList.java,v 1.1 2003/04/13 22:08:07 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives.adapters;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.AbstractList;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestSuite;
|
||||
|
||||
import org.apache.commons.collections.BulkTest;
|
||||
import org.apache.commons.collections.primitives.FloatList;
|
||||
import org.apache.commons.collections.primitives.TestFloatList;
|
||||
|
||||
/**
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:07 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
public class TestListFloatList extends TestFloatList {
|
||||
|
||||
// conventional
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
public TestListFloatList(String testName) {
|
||||
super(testName);
|
||||
}
|
||||
|
||||
public static Test suite() {
|
||||
TestSuite suite = BulkTest.makeSuite(TestListFloatList.class);
|
||||
return suite;
|
||||
}
|
||||
|
||||
// collections testing framework
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* @see org.apache.commons.collections.primitives.TestFloatList#makeEmptyFloatList()
|
||||
*/
|
||||
protected FloatList makeEmptyFloatList() {
|
||||
return new ListFloatList(new ArrayList());
|
||||
}
|
||||
|
||||
public String[] ignoredSimpleTests() {
|
||||
// sublists are not serializable
|
||||
return new String[] {
|
||||
"TestListFloatList.bulkTestSubList.testFullListSerialization",
|
||||
"TestListFloatList.bulkTestSubList.testEmptyListSerialization",
|
||||
"TestListFloatList.bulkTestSubList.testCanonicalEmptyCollectionExists",
|
||||
"TestListFloatList.bulkTestSubList.testCanonicalFullCollectionExists",
|
||||
"TestListFloatList.bulkTestSubList.testEmptyListCompatibility",
|
||||
"TestListFloatList.bulkTestSubList.testFullListCompatibility",
|
||||
"TestListFloatList.bulkTestSubList.testSerializeDeserializeThenCompare",
|
||||
"TestListFloatList.bulkTestSubList.testSimpleSerialization"
|
||||
};
|
||||
}
|
||||
|
||||
// tests
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
/** @TODO need to add serialized form to cvs */
|
||||
public void testCanonicalEmptyCollectionExists() {
|
||||
// XXX FIX ME XXX
|
||||
// need to add a serialized form to cvs
|
||||
}
|
||||
|
||||
public void testCanonicalFullCollectionExists() {
|
||||
// XXX FIX ME XXX
|
||||
// need to add a serialized form to cvs
|
||||
}
|
||||
|
||||
public void testEmptyListCompatibility() {
|
||||
// XXX FIX ME XXX
|
||||
// need to add a serialized form to cvs
|
||||
}
|
||||
|
||||
public void testFullListCompatibility() {
|
||||
// XXX FIX ME XXX
|
||||
// need to add a serialized form to cvs
|
||||
}
|
||||
public void testWrapNull() {
|
||||
assertNull(ListFloatList.wrap(null));
|
||||
}
|
||||
|
||||
public void testWrapSerializable() {
|
||||
FloatList list = ListFloatList.wrap(new ArrayList());
|
||||
assertNotNull(list);
|
||||
assertTrue(list instanceof Serializable);
|
||||
}
|
||||
|
||||
public void testWrapNonSerializable() {
|
||||
FloatList list = ListFloatList.wrap(new AbstractList() {
|
||||
public Object get(int i) { throw new IndexOutOfBoundsException(); }
|
||||
public int size() { return 0; }
|
||||
});
|
||||
assertNotNull(list);
|
||||
assertTrue(!(list instanceof Serializable));
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,118 @@
|
|||
/*
|
||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/primitives/adapters/Attic/TestListIteratorFloatListIterator.java,v 1.1 2003/04/13 22:08:07 rwaldhoff Exp $
|
||||
* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
* Copyright (c) 2003 The Apache Software Foundation. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowledgment:
|
||||
* "This product includes software developed by the
|
||||
* Apache Software Foundation (http://www.apache.org/)."
|
||||
* Alternately, this acknowledgment may appear in the software itself,
|
||||
* if and wherever such third-party acknowledgments normally appear.
|
||||
*
|
||||
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
|
||||
* Foundation" must not be used to endorse or promote products derived
|
||||
* from this software without prior written permission. For written
|
||||
* permission, please contact apache@apache.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "Apache"
|
||||
* nor may "Apache" appear in their names without prior written
|
||||
* permission of the Apache Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.commons.collections.primitives.adapters;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestSuite;
|
||||
|
||||
import org.apache.commons.collections.primitives.FloatListIterator;
|
||||
import org.apache.commons.collections.primitives.TestFloatListIterator;
|
||||
|
||||
/**
|
||||
* @version $Revision: 1.1 $ $Date: 2003/04/13 22:08:07 $
|
||||
* @author Rodney Waldhoff
|
||||
*/
|
||||
public class TestListIteratorFloatListIterator extends TestFloatListIterator {
|
||||
|
||||
// conventional
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
public TestListIteratorFloatListIterator(String testName) {
|
||||
super(testName);
|
||||
}
|
||||
|
||||
public static Test suite() {
|
||||
return new TestSuite(TestListIteratorFloatListIterator.class);
|
||||
}
|
||||
|
||||
// collections testing framework
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
public FloatListIterator makeEmptyFloatListIterator() {
|
||||
return ListIteratorFloatListIterator.wrap(makeEmptyList().listIterator());
|
||||
}
|
||||
|
||||
public FloatListIterator makeFullFloatListIterator() {
|
||||
return ListIteratorFloatListIterator.wrap(makeFullList().listIterator());
|
||||
}
|
||||
|
||||
protected List makeEmptyList() {
|
||||
return new ArrayList();
|
||||
}
|
||||
|
||||
protected List makeFullList() {
|
||||
List list = makeEmptyList();
|
||||
float[] elts = getFullElements();
|
||||
for(int i=0;i<elts.length;i++) {
|
||||
list.add(new Float(elts[i]));
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
public float[] getFullElements() {
|
||||
return new float[] { (float)0, (float)1, (float)2, (float)3, (float)4, (float)5, (float)6, (float)7, (float)8, (float)9 };
|
||||
}
|
||||
|
||||
// tests
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
|
||||
}
|
Loading…
Reference in New Issue