scolebourne 2003/12/03 06:03:35 Modified: collections/src/java/org/apache/commons/collections/bidimap package.html AbstractBidiMapDecorator.java collections/src/test/org/apache/commons/collections/bidimap TestAll.java Added: collections/src/java/org/apache/commons/collections/bidimap UnmodifiableOrderedBidiMap.java AbstractOrderedBidiMapDecorator.java UnmodifiableSortedBidiMap.java AbstractSortedBidiMapDecorator.java collections/src/test/org/apache/commons/collections/bidimap TestUnmodifiableOrderedBidiMap.java TestUnmodifiableSortedBidiMap.java Log: Add unmodifiable BidiMap decorators Revision Changes Path 1.3 +8 -4 jakarta-commons/collections/src/java/org/apache/commons/collections/bidimap/package.html Index: package.html =================================================================== RCS file: /home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/bidimap/package.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- package.html 3 Dec 2003 12:23:19 -0000 1.2 +++ package.html 3 Dec 2003 14:03:35 -0000 1.3 @@ -7,12 +7,16 @@ <p> The following implementations are provided in the package: <ul> -<li>DualHash - uses two HashMaps to implement BidiMap -<li>DualTree - uses two TreeMaps to implement SortedBidiMap -<li>Tree - red-black tree implementation of OrderedBidiMap +<li>DualHashBidiMap - uses two HashMaps to implement BidiMap +<li>DualTreeBidiMap - uses two TreeMaps to implement SortedBidiMap +<li>TreeBidiMap - red-black tree implementation of OrderedBidiMap +</ul> +<p> +The following decorators are provided in the package: +<ul> +<li>Unmodifiable - ensures the map cannot be altered <!-- <li>Synchronized - synchronizes method access for multi-threaded environments -<li>Unmodifiable - ensures the collection cannot be altered <li>Predicated - ensures that only elements that are valid according to a predicate can be added <li>Typed - ensures that only elements that are of a specific type can be added <li>Transformed - transforms each element added 1.2 +3 -3 jakarta-commons/collections/src/java/org/apache/commons/collections/bidimap/AbstractBidiMapDecorator.java Index: AbstractBidiMapDecorator.java =================================================================== RCS file: /home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/bidimap/AbstractBidiMapDecorator.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- AbstractBidiMapDecorator.java 3 Dec 2003 12:59:37 -0000 1.1 +++ AbstractBidiMapDecorator.java 3 Dec 2003 14:03:35 -0000 1.2 @@ -86,7 +86,7 @@ * @param map the map to decorate, must not be null * @throws IllegalArgumentException if the collection is null */ - public AbstractBidiMapDecorator(BidiMap map) { + protected AbstractBidiMapDecorator(BidiMap map) { super(map); } 1.1 jakarta-commons/collections/src/java/org/apache/commons/collections/bidimap/UnmodifiableOrderedBidiMap.java Index: UnmodifiableOrderedBidiMap.java =================================================================== /* * $Header: /home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/bidimap/UnmodifiableOrderedBidiMap.java,v 1.1 2003/12/03 14:03:35 scolebourne 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 acknowledgement: * "This product includes software developed by the * Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowledgement may appear in the software itself, * if and wherever such third-party acknowledgements 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 [EMAIL PROTECTED] * * 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.bidimap; import java.util.Collection; import java.util.Map; import java.util.Set; import org.apache.commons.collections.BidiMap; import org.apache.commons.collections.MapIterator; import org.apache.commons.collections.OrderedBidiMap; import org.apache.commons.collections.OrderedMapIterator; import org.apache.commons.collections.Unmodifiable; import org.apache.commons.collections.collection.UnmodifiableCollection; import org.apache.commons.collections.iterators.UnmodifiableOrderedMapIterator; import org.apache.commons.collections.map.UnmodifiableEntrySet; import org.apache.commons.collections.set.UnmodifiableSet; /** * Decorates another <code>OrderedBidiMap</code> to ensure it can't be altered. * * @since Commons Collections 3.0 * @version $Revision: 1.1 $ $Date: 2003/12/03 14:03:35 $ * * @author Stephen Colebourne */ public final class UnmodifiableOrderedBidiMap extends AbstractOrderedBidiMapDecorator implements Unmodifiable { /** The inverse unmodifiable map */ private UnmodifiableOrderedBidiMap inverse; /** * Factory method to create an unmodifiable map. * * @param map the map to decorate, must not be null * @throws IllegalArgumentException if map is null */ public static OrderedBidiMap decorate(OrderedBidiMap map) { if (map instanceof Unmodifiable) { return map; } return new UnmodifiableOrderedBidiMap(map); } //----------------------------------------------------------------------- /** * Constructor that wraps (not copies). * * @param map the map to decorate, must not be null * @throws IllegalArgumentException if map is null */ private UnmodifiableOrderedBidiMap(OrderedBidiMap map) { super(map); } //----------------------------------------------------------------------- public void clear() { throw new UnsupportedOperationException(); } public Object put(Object key, Object value) { throw new UnsupportedOperationException(); } public void putAll(Map mapToCopy) { throw new UnsupportedOperationException(); } public Object remove(Object key) { throw new UnsupportedOperationException(); } public Set entrySet() { Set set = super.entrySet(); return UnmodifiableEntrySet.decorate(set); } public Set keySet() { Set set = super.keySet(); return UnmodifiableSet.decorate(set); } public Collection values() { Collection coll = super.values(); return UnmodifiableCollection.decorate(coll); } //----------------------------------------------------------------------- public Object removeValue(Object value) { throw new UnsupportedOperationException(); } public MapIterator mapIterator() { return orderedMapIterator(); } public BidiMap inverseBidiMap() { return inverseOrderedBidiMap(); } //----------------------------------------------------------------------- public OrderedMapIterator orderedMapIterator() { OrderedMapIterator it = getOrderedBidiMap().orderedMapIterator(); return UnmodifiableOrderedMapIterator.decorate(it); } public OrderedBidiMap inverseOrderedBidiMap() { if (inverse == null) { inverse = new UnmodifiableOrderedBidiMap(getOrderedBidiMap().inverseOrderedBidiMap()); inverse.inverse = this; } return inverse; } } 1.1 jakarta-commons/collections/src/java/org/apache/commons/collections/bidimap/AbstractOrderedBidiMapDecorator.java Index: AbstractOrderedBidiMapDecorator.java =================================================================== /* * $Header: /home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/bidimap/AbstractOrderedBidiMapDecorator.java,v 1.1 2003/12/03 14:03:35 scolebourne 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 acknowledgement: * "This product includes software developed by the * Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowledgement may appear in the software itself, * if and wherever such third-party acknowledgements 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 [EMAIL PROTECTED] * * 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.bidimap; import org.apache.commons.collections.OrderedBidiMap; import org.apache.commons.collections.OrderedMapIterator; /** * Provides a base decorator that enables additional functionality to be added * to an OrderedBidiMap via decoration. * <p> * Methods are forwarded directly to the decorated map. * <p> * This implementation does not perform any special processing with the map views. * Instead it simply returns the inverse from the wrapped map. This may be * undesirable, for example if you are trying to write a validating implementation * it would provide a loophole around the validation. * But, you might want that loophole, so this class is kept simple. * * @since Commons Collections 3.0 * @version $Revision: 1.1 $ $Date: 2003/12/03 14:03:35 $ * * @author Stephen Colebourne */ public abstract class AbstractOrderedBidiMapDecorator extends AbstractBidiMapDecorator implements OrderedBidiMap { /** * Constructor that wraps (not copies). * * @param map the map to decorate, must not be null * @throws IllegalArgumentException if the collection is null */ protected AbstractOrderedBidiMapDecorator(OrderedBidiMap map) { super(map); } /** * Gets the map being decorated. * * @return the decorated map */ protected OrderedBidiMap getOrderedBidiMap() { return (OrderedBidiMap) map; } //----------------------------------------------------------------------- public OrderedMapIterator orderedMapIterator() { return getOrderedBidiMap().orderedMapIterator(); } public Object firstKey() { return getOrderedBidiMap().firstKey(); } public Object lastKey() { return getOrderedBidiMap().lastKey(); } public Object nextKey(Object key) { return getOrderedBidiMap().nextKey(key); } public Object previousKey(Object key) { return getOrderedBidiMap().previousKey(key); } public OrderedBidiMap inverseOrderedBidiMap() { return getOrderedBidiMap().inverseOrderedBidiMap(); } } 1.1 jakarta-commons/collections/src/java/org/apache/commons/collections/bidimap/UnmodifiableSortedBidiMap.java Index: UnmodifiableSortedBidiMap.java =================================================================== /* * $Header: /home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/bidimap/UnmodifiableSortedBidiMap.java,v 1.1 2003/12/03 14:03:35 scolebourne 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 acknowledgement: * "This product includes software developed by the * Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowledgement may appear in the software itself, * if and wherever such third-party acknowledgements 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 [EMAIL PROTECTED] * * 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.bidimap; import java.util.Collection; import java.util.Map; import java.util.Set; import java.util.SortedMap; import org.apache.commons.collections.BidiMap; import org.apache.commons.collections.MapIterator; import org.apache.commons.collections.OrderedBidiMap; import org.apache.commons.collections.OrderedMapIterator; import org.apache.commons.collections.SortedBidiMap; import org.apache.commons.collections.Unmodifiable; import org.apache.commons.collections.collection.UnmodifiableCollection; import org.apache.commons.collections.iterators.UnmodifiableOrderedMapIterator; import org.apache.commons.collections.map.UnmodifiableEntrySet; import org.apache.commons.collections.map.UnmodifiableSortedMap; import org.apache.commons.collections.set.UnmodifiableSet; /** * Decorates another <code>SortedBidiMap</code> to ensure it can't be altered. * * @since Commons Collections 3.0 * @version $Revision: 1.1 $ $Date: 2003/12/03 14:03:35 $ * * @author Stephen Colebourne */ public final class UnmodifiableSortedBidiMap extends AbstractSortedBidiMapDecorator implements Unmodifiable { /** The inverse unmodifiable map */ private UnmodifiableSortedBidiMap inverse; /** * Factory method to create an unmodifiable map. * * @param map the map to decorate, must not be null * @throws IllegalArgumentException if map is null */ public static SortedBidiMap decorate(SortedBidiMap map) { if (map instanceof Unmodifiable) { return map; } return new UnmodifiableSortedBidiMap(map); } //----------------------------------------------------------------------- /** * Constructor that wraps (not copies). * * @param map the map to decorate, must not be null * @throws IllegalArgumentException if map is null */ private UnmodifiableSortedBidiMap(SortedBidiMap map) { super(map); } //----------------------------------------------------------------------- public void clear() { throw new UnsupportedOperationException(); } public Object put(Object key, Object value) { throw new UnsupportedOperationException(); } public void putAll(Map mapToCopy) { throw new UnsupportedOperationException(); } public Object remove(Object key) { throw new UnsupportedOperationException(); } public Set entrySet() { Set set = super.entrySet(); return UnmodifiableEntrySet.decorate(set); } public Set keySet() { Set set = super.keySet(); return UnmodifiableSet.decorate(set); } public Collection values() { Collection coll = super.values(); return UnmodifiableCollection.decorate(coll); } //----------------------------------------------------------------------- public Object removeValue(Object value) { throw new UnsupportedOperationException(); } public MapIterator mapIterator() { return orderedMapIterator(); } public BidiMap inverseBidiMap() { return inverseSortedBidiMap(); } //----------------------------------------------------------------------- public OrderedMapIterator orderedMapIterator() { OrderedMapIterator it = getSortedBidiMap().orderedMapIterator(); return UnmodifiableOrderedMapIterator.decorate(it); } public OrderedBidiMap inverseOrderedBidiMap() { return inverseSortedBidiMap(); } //----------------------------------------------------------------------- public SortedBidiMap inverseSortedBidiMap() { if (inverse == null) { inverse = new UnmodifiableSortedBidiMap(getSortedBidiMap().inverseSortedBidiMap()); inverse.inverse = this; } return inverse; } public SortedMap subMap(Object fromKey, Object toKey) { SortedMap sm = getSortedBidiMap().subMap(fromKey, toKey); return UnmodifiableSortedMap.decorate(sm); } public SortedMap headMap(Object toKey) { SortedMap sm = getSortedBidiMap().headMap(toKey); return UnmodifiableSortedMap.decorate(sm); } public SortedMap tailMap(Object fromKey) { SortedMap sm = getSortedBidiMap().tailMap(fromKey); return UnmodifiableSortedMap.decorate(sm); } } 1.1 jakarta-commons/collections/src/java/org/apache/commons/collections/bidimap/AbstractSortedBidiMapDecorator.java Index: AbstractSortedBidiMapDecorator.java =================================================================== /* * $Header: /home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/bidimap/AbstractSortedBidiMapDecorator.java,v 1.1 2003/12/03 14:03:35 scolebourne 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 acknowledgement: * "This product includes software developed by the * Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowledgement may appear in the software itself, * if and wherever such third-party acknowledgements 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 [EMAIL PROTECTED] * * 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.bidimap; import java.util.Comparator; import java.util.SortedMap; import org.apache.commons.collections.SortedBidiMap; /** * Provides a base decorator that enables additional functionality to be added * to a SortedBidiMap via decoration. * <p> * Methods are forwarded directly to the decorated map. * <p> * This implementation does not perform any special processing with the map views. * Instead it simply returns the inverse from the wrapped map. This may be * undesirable, for example if you are trying to write a validating implementation * it would provide a loophole around the validation. * But, you might want that loophole, so this class is kept simple. * * @since Commons Collections 3.0 * @version $Revision: 1.1 $ $Date: 2003/12/03 14:03:35 $ * * @author Stephen Colebourne */ public abstract class AbstractSortedBidiMapDecorator extends AbstractOrderedBidiMapDecorator implements SortedBidiMap { /** * Constructor that wraps (not copies). * * @param map the map to decorate, must not be null * @throws IllegalArgumentException if the collection is null */ public AbstractSortedBidiMapDecorator(SortedBidiMap map) { super(map); } /** * Gets the map being decorated. * * @return the decorated map */ protected SortedBidiMap getSortedBidiMap() { return (SortedBidiMap) map; } //----------------------------------------------------------------------- public SortedBidiMap inverseSortedBidiMap() { return getSortedBidiMap().inverseSortedBidiMap(); } public Comparator comparator() { return getSortedBidiMap().comparator(); } public SortedMap subMap(Object fromKey, Object toKey) { return getSortedBidiMap().subMap(fromKey, toKey); } public SortedMap headMap(Object toKey) { return getSortedBidiMap().headMap(toKey); } public SortedMap tailMap(Object fromKey) { return getSortedBidiMap().tailMap(fromKey); } } 1.3 +4 -2 jakarta-commons/collections/src/test/org/apache/commons/collections/bidimap/TestAll.java Index: TestAll.java =================================================================== RCS file: /home/cvs/jakarta-commons/collections/src/test/org/apache/commons/collections/bidimap/TestAll.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- TestAll.java 3 Dec 2003 12:59:36 -0000 1.2 +++ TestAll.java 3 Dec 2003 14:03:35 -0000 1.3 @@ -88,6 +88,8 @@ suite.addTest(TestTreeBidiMap.suite()); suite.addTest(TestUnmodifiableBidiMap.suite()); + suite.addTest(TestUnmodifiableOrderedBidiMap.suite()); + suite.addTest(TestUnmodifiableSortedBidiMap.suite()); return suite; } 1.1 jakarta-commons/collections/src/test/org/apache/commons/collections/bidimap/TestUnmodifiableOrderedBidiMap.java Index: TestUnmodifiableOrderedBidiMap.java =================================================================== /* * $Header: /home/cvs/jakarta-commons/collections/src/test/org/apache/commons/collections/bidimap/TestUnmodifiableOrderedBidiMap.java,v 1.1 2003/12/03 14:03:35 scolebourne Exp $ * ==================================================================== * * The Apache Software License, Version 1.1 * * Copyright (c) 2001-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 acknowledgement: * "This product includes software developed by the * Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowledgement may appear in the software itself, * if and wherever such third-party acknowledgements 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 [EMAIL PROTECTED] * * 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.bidimap; import java.util.Map; import java.util.TreeMap; import junit.framework.Test; import junit.textui.TestRunner; import org.apache.commons.collections.BidiMap; import org.apache.commons.collections.BulkTest; import org.apache.commons.collections.OrderedBidiMap; /** * JUnit tests. * * @version $Revision: 1.1 $ $Date: 2003/12/03 14:03:35 $ * * @author Stephen Colebourne */ public class TestUnmodifiableOrderedBidiMap extends AbstractTestOrderedBidiMap { public static void main(String[] args) { TestRunner.run(suite()); } public static Test suite() { return BulkTest.makeSuite(TestUnmodifiableOrderedBidiMap.class); } public TestUnmodifiableOrderedBidiMap(String testName) { super(testName); } public BidiMap makeEmptyBidiMap() { return UnmodifiableOrderedBidiMap.decorate(new TreeBidiMap()); } public BidiMap makeFullBidiMap() { OrderedBidiMap bidi = new TreeBidiMap(); for (int i = 0; i < entries.length; i++) { bidi.put(entries[i][0], entries[i][1]); } return UnmodifiableOrderedBidiMap.decorate(bidi); } public Map makeFullMap() { OrderedBidiMap bidi = new TreeBidiMap(); addSampleMappings(bidi); return UnmodifiableOrderedBidiMap.decorate(bidi); } public Map makeConfirmedMap() { return new TreeMap(); } /** * Override to prevent infinite recursion of tests. */ public String[] ignoredTests() { return new String[] {"TestUnmodifiableOrderedBidiMap.bulkTestInverseMap.bulkTestInverseMap"}; } public boolean isAllowNullKey() { return false; } public boolean isAllowNullValue() { return false; } public boolean isPutAddSupported() { return false; } public boolean isPutChangeSupported() { return false; } public boolean isRemoveSupported() { return false; } } 1.1 jakarta-commons/collections/src/test/org/apache/commons/collections/bidimap/TestUnmodifiableSortedBidiMap.java Index: TestUnmodifiableSortedBidiMap.java =================================================================== /* * $Header: /home/cvs/jakarta-commons/collections/src/test/org/apache/commons/collections/bidimap/TestUnmodifiableSortedBidiMap.java,v 1.1 2003/12/03 14:03:35 scolebourne Exp $ * ==================================================================== * * The Apache Software License, Version 1.1 * * Copyright (c) 2001-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 acknowledgement: * "This product includes software developed by the * Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowledgement may appear in the software itself, * if and wherever such third-party acknowledgements 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 [EMAIL PROTECTED] * * 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.bidimap; import java.util.Map; import java.util.TreeMap; import junit.framework.Test; import junit.textui.TestRunner; import org.apache.commons.collections.BidiMap; import org.apache.commons.collections.BulkTest; import org.apache.commons.collections.SortedBidiMap; /** * JUnit tests. * * @version $Revision: 1.1 $ $Date: 2003/12/03 14:03:35 $ * * @author Stephen Colebourne */ public class TestUnmodifiableSortedBidiMap extends AbstractTestSortedBidiMap { public static void main(String[] args) { TestRunner.run(suite()); } public static Test suite() { return BulkTest.makeSuite(TestUnmodifiableSortedBidiMap.class); } public TestUnmodifiableSortedBidiMap(String testName) { super(testName); } public BidiMap makeEmptyBidiMap() { return UnmodifiableSortedBidiMap.decorate(new DualTreeBidiMap()); } public BidiMap makeFullBidiMap() { SortedBidiMap bidi = new DualTreeBidiMap(); for (int i = 0; i < entries.length; i++) { bidi.put(entries[i][0], entries[i][1]); } return UnmodifiableSortedBidiMap.decorate(bidi); } public Map makeFullMap() { SortedBidiMap bidi = new DualTreeBidiMap(); addSampleMappings(bidi); return UnmodifiableSortedBidiMap.decorate(bidi); } public Map makeConfirmedMap() { return new TreeMap(); } /** * Override to prevent infinite recursion of tests. */ public String[] ignoredTests() { return new String[] {"TestUnmodifiableSortedBidiMap.bulkTestInverseMap.bulkTestInverseMap"}; } public boolean isAllowNullKey() { return false; } public boolean isAllowNullValue() { return false; } public boolean isPutAddSupported() { return false; } public boolean isPutChangeSupported() { return false; } public boolean isRemoveSupported() { return false; } }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]