rwaldhoff 2003/02/24 03:38:07 Modified: functor/src/test/org/apache/commons/functor/core TestAll.java functor/src/test/org/apache/commons/functor/core/collection TestCollectionAlgorithms.java functor/src/test/org/apache/commons/functor/example Quicksort.java Added: functor/src/java/org/apache/commons/functor/core IsEqual.java IsInstanceOf.java IsNotEqual.java IsNotNull.java IsNull.java functor/src/java/org/apache/commons/functor/core/comparator IsEquivalent.java IsGreaterThan.java IsGreaterThanOrEqual.java IsLessThan.java IsLessThanOrEqual.java IsNotEquivalent.java functor/src/test/org/apache/commons/functor/core TestIsEqual.java TestIsInstanceOf.java TestIsNotEqual.java TestIsNotNull.java TestIsNull.java Removed: functor/src/java/org/apache/commons/functor/core EqualPredicate.java InstanceOfPredicate.java IsNotNullPredicate.java IsNullPredicate.java NotEqualPredicate.java functor/src/java/org/apache/commons/functor/core/comparator Equivalent.java GreaterThan.java GreaterThanOrEqual.java LessThan.java LessThanOrEqual.java NotEquivalent.java functor/src/test/org/apache/commons/functor/core TestEqualPredicate.java TestInstanceOfPredicate.java TestIsNotNullPredicate.java TestIsNullPredicate.java TestNotEqualPredicate.java Log: rename X[Predicate] to IsX, for several values of X Revision Changes Path 1.1 jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/core/IsEqual.java Index: IsEqual.java =================================================================== /* * $Header: /home/cvs/jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/core/IsEqual.java,v 1.1 2003/02/24 11:38: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 [EMAIL PROTECTED] * * 5. Products derived from this software may not be called "Apache", * nor may "Apache" appear in their name, 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.functor.core; import java.io.Serializable; import org.apache.commons.functor.BinaryPredicate; /** * [EMAIL PROTECTED] #test Tests} * <code>true</code> iff its arguments are * [EMAIL PROTECTED] Object#equals equal} or both * <code>null</code>. * <p> * This relation is * an equivalence relation on * the set of objects that adhere to the * <code>Object.equals</code> contract. * </p> * * @version $Revision: 1.1 $ $Date: 2003/02/24 11:38:06 $ * @author Rodney Waldhoff */ public final class IsEqual implements BinaryPredicate, Serializable { // constructor // ------------------------------------------------------------------------ public IsEqual() { } // predicate interface // ------------------------------------------------------------------------ public boolean test(Object left, Object right) { return (null == left ? null == right : left.equals(right)); } public boolean equals(Object that) { return that instanceof IsEqual; } public int hashCode() { return "IsEqual".hashCode(); } public String toString() { return "IsEqual"; } // static attributes // ------------------------------------------------------------------------ public static IsEqual getEqualPredicate() { return INSTANCE; } // static attributes // ------------------------------------------------------------------------ private static final IsEqual INSTANCE = new IsEqual(); } 1.1 jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/core/IsInstanceOf.java Index: IsInstanceOf.java =================================================================== /* * $Header: /home/cvs/jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/core/IsInstanceOf.java,v 1.1 2003/02/24 11:38: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 [EMAIL PROTECTED] * * 5. Products derived from this software may not be called "Apache", * nor may "Apache" appear in their name, 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.functor.core; import java.io.Serializable; import org.apache.commons.functor.UnaryPredicate; /** * [EMAIL PROTECTED] #test Tests} * <code>true</code> iff its argument * [EMAIL PROTECTED] Class#isInstance is an instance} * of some specified [EMAIL PROTECTED] Class Class}. * * @version $Revision: 1.1 $ $Date: 2003/02/24 11:38:06 $ * @author Rodney Waldhoff */ public final class IsInstanceOf implements UnaryPredicate, Serializable { // constructor // ------------------------------------------------------------------------ public IsInstanceOf(Class klass) { this.klass = klass; } // predicate interface // ------------------------------------------------------------------------ public boolean test(Object obj) { return klass.isInstance(obj); } public boolean equals(Object that) { if(that instanceof IsInstanceOf) { return equals((IsInstanceOf)that); } else { return false; } } public boolean equals(IsInstanceOf that) { return (null != that && (null == this.klass ? null == that.klass : this.klass.equals(that.klass))); } public int hashCode() { int hash = "IsInstanceOf".hashCode(); if(null != klass) { hash ^= klass.hashCode(); } return hash; } public String toString() { return "IsInstanceOf<" + klass + ">"; } // attributes // ------------------------------------------------------------------------ private Class klass; } 1.1 jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/core/IsNotEqual.java Index: IsNotEqual.java =================================================================== /* * $Header: /home/cvs/jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/core/IsNotEqual.java,v 1.1 2003/02/24 11:38: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 [EMAIL PROTECTED] * * 5. Products derived from this software may not be called "Apache", * nor may "Apache" appear in their name, 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.functor.core; import java.io.Serializable; import org.apache.commons.functor.BinaryPredicate; /** * [EMAIL PROTECTED] #test Tests} * <code>true</code> iff its arguments are * not [EMAIL PROTECTED] Object#equals equal} or both * <code>null</code>. * <p> * This relation is symmetric but irreflexive * and not transitive. * </p> * @version $Revision: 1.1 $ $Date: 2003/02/24 11:38:06 $ * @author Rodney Waldhoff */ public final class IsNotEqual implements BinaryPredicate, Serializable { // constructor // ------------------------------------------------------------------------ public IsNotEqual() { } // predicate interface // ------------------------------------------------------------------------ public boolean test(Object left, Object right) { return (null == left ? null != right : !left.equals(right)); } public boolean equals(Object that) { return that instanceof IsNotEqual; } public int hashCode() { return "IsNotEqual".hashCode(); } public String toString() { return "IsNotEqual"; } // static attributes // ------------------------------------------------------------------------ public static IsNotEqual getNotEqualPredicate() { return INSTANCE; } // static attributes // ------------------------------------------------------------------------ private static final IsNotEqual INSTANCE = new IsNotEqual(); } 1.1 jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/core/IsNotNull.java Index: IsNotNull.java =================================================================== /* * $Header: /home/cvs/jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/core/IsNotNull.java,v 1.1 2003/02/24 11:38: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 [EMAIL PROTECTED] * * 5. Products derived from this software may not be called "Apache", * nor may "Apache" appear in their name, 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.functor.core; import java.io.Serializable; import org.apache.commons.functor.UnaryPredicate; /** * [EMAIL PROTECTED] #test Tests} * <code>false</code> iff its argument * is <code>null</code>. * * @version $Revision: 1.1 $ $Date: 2003/02/24 11:38:06 $ * @author Rodney Waldhoff */ public final class IsNotNull implements UnaryPredicate, Serializable { // constructor // ------------------------------------------------------------------------ public IsNotNull() { } // predicate interface // ------------------------------------------------------------------------ public boolean test(Object obj) { return (null != obj); } public boolean equals(Object that) { return that instanceof IsNotNull; } public int hashCode() { return "IsNotNull".hashCode(); } public String toString() { return "IsNotNull"; } // static attributes // ------------------------------------------------------------------------ public static IsNotNull getIsNotNullPredicate() { return INSTANCE; } // static attributes // ------------------------------------------------------------------------ private static final IsNotNull INSTANCE = new IsNotNull(); } 1.1 jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/core/IsNull.java Index: IsNull.java =================================================================== /* * $Header: /home/cvs/jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/core/IsNull.java,v 1.1 2003/02/24 11:38: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 [EMAIL PROTECTED] * * 5. Products derived from this software may not be called "Apache", * nor may "Apache" appear in their name, 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.functor.core; import java.io.Serializable; import org.apache.commons.functor.UnaryPredicate; /** * [EMAIL PROTECTED] #test Tests} * <code>true</code> iff its argument * is <code>null</code>. * * @version $Revision: 1.1 $ $Date: 2003/02/24 11:38:06 $ * @author Rodney Waldhoff */ public final class IsNull implements UnaryPredicate, Serializable { // constructor // ------------------------------------------------------------------------ public IsNull() { } // predicate interface // ------------------------------------------------------------------------ public boolean test(Object obj) { return (null == obj); } public boolean equals(Object that) { return that instanceof IsNull; } public int hashCode() { return "IsNull".hashCode(); } public String toString() { return "IsNull"; } // static attributes // ------------------------------------------------------------------------ public static IsNull getIsNullPredicate() { return INSTANCE; } // static attributes // ------------------------------------------------------------------------ private static final IsNull INSTANCE = new IsNull(); } 1.1 jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/core/comparator/IsEquivalent.java Index: IsEquivalent.java =================================================================== /* * $Header: /home/cvs/jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/core/comparator/IsEquivalent.java,v 1.1 2003/02/24 11:38: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 [EMAIL PROTECTED] * * 5. Products derived from this software may not be called "Apache", * nor may "Apache" appear in their name, 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.functor.core.comparator; import java.io.Serializable; import java.util.Comparator; import org.apache.commons.functor.BinaryPredicate; /** * A [EMAIL PROTECTED] BinaryPredicate BinaryPredicate} that [EMAIL PROTECTED] #test tests} * <code>true</code> iff the left argument is equal to the * right argument under the specified [EMAIL PROTECTED] Comparator}. * When no (or a <code>null</code> <code>Comparator</code> is specified, * a [EMAIL PROTECTED] Comparable Comparable} <code>Comparator</code> is used. * * @see org.apache.commons.functor.core.IsEqual * * @version $Revision: 1.1 $ $Date: 2003/02/24 11:38:06 $ * @author Rodney Waldhoff * */ public final class IsEquivalent implements BinaryPredicate, Serializable { /** * Construct an <code>IsEquivalent</code> [EMAIL PROTECTED] BinaryPredicate predicate} * for [EMAIL PROTECTED] Comparable Comparable}s. */ public IsEquivalent() { this(null); } /** * Construct an <code>IsEquivalent</code> [EMAIL PROTECTED] BinaryPredicate predicate} * for the given [EMAIL PROTECTED] Comparator Comparator}. * * @param comparator the [EMAIL PROTECTED] Comparator Comparator}, when <code>null</code>, * a <code>Comparator</code> for [EMAIL PROTECTED] Comparable Comparable}s will * be used. */ public IsEquivalent(Comparator comparator) { this.comparator = null == comparator ? ComparableComparator.getInstance() : comparator; } /** * Return <code>true</code> iff the <i>left</i> parameter is * equal to the <i>right</i> parameter under my current * [EMAIL PROTECTED] Comparator Comparator}. */ public boolean test(Object left, Object right) { return comparator.compare(left,right) == 0; } /** * @see java.lang.Object#equals(Object) */ public boolean equals(Object that) { if(that instanceof IsEquivalent) { return equals((IsEquivalent)that); } else { return false; } } /** * @see #equals(Object) */ public boolean equals(IsEquivalent that) { return null != that && null == comparator ? null == that.comparator : comparator.equals(that.comparator); } /** * @see java.lang.Object#hashCode() */ public int hashCode() { int hash = "IsEquivalent".hashCode(); if(null != comparator) { hash ^= comparator.hashCode(); } return hash; } /** * @see java.lang.Object#toString() */ public String toString() { return "IsEquivalent<" + comparator + ">"; } public static final IsEquivalent getEquivalent() { return COMPARABLE_INSTANCE; } private Comparator comparator = null; private static final IsEquivalent COMPARABLE_INSTANCE = new IsEquivalent(); } 1.1 jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/core/comparator/IsGreaterThan.java Index: IsGreaterThan.java =================================================================== /* * $Header: /home/cvs/jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/core/comparator/IsGreaterThan.java,v 1.1 2003/02/24 11:38: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 [EMAIL PROTECTED] * * 5. Products derived from this software may not be called "Apache", * nor may "Apache" appear in their name, 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.functor.core.comparator; import java.io.Serializable; import java.util.Comparator; import org.apache.commons.functor.BinaryPredicate; /** * A [EMAIL PROTECTED] BinaryPredicate BinaryPredicate} that [EMAIL PROTECTED] #test tests} * <code>true</code> iff the left argument is greater than the * right argument under the specified [EMAIL PROTECTED] Comparator}. * When no (or a <code>null</code> <code>Comparator</code> is specified, * a [EMAIL PROTECTED] Comparable Comparable} <code>Comparator</code> is used. * * @version $Revision: 1.1 $ $Date: 2003/02/24 11:38:06 $ * @author Rodney Waldhoff */ public final class IsGreaterThan implements BinaryPredicate, Serializable { /** * Construct a <code>IsGreaterThan</code> [EMAIL PROTECTED] BinaryPredicate predicate} * for [EMAIL PROTECTED] Comparable Comparable}s. */ public IsGreaterThan() { this(null); } /** * Construct a <code>IsGreaterThan</code> [EMAIL PROTECTED] BinaryPredicate predicate} * for the given [EMAIL PROTECTED] Comparator Comparator}. * * @param comparator the [EMAIL PROTECTED] Comparator Comparator}, when <code>null</code>, * a <code>Comparator</code> for [EMAIL PROTECTED] Comparable Comparable}s will * be used. */ public IsGreaterThan(Comparator comparator) { this.comparator = null == comparator ? ComparableComparator.getInstance() : comparator; } /** * Return <code>true</code> iff the <i>left</i> parameter is * greater than the <i>right</i> parameter under my current * [EMAIL PROTECTED] Comparator Comparator}. */ public boolean test(Object left, Object right) { return comparator.compare(left,right) > 0; } /** * @see java.lang.Object#equals(Object) */ public boolean equals(Object that) { if(that instanceof IsGreaterThan) { return equals((IsGreaterThan)that); } else { return false; } } /** * @see #equals(Object) */ public boolean equals(IsGreaterThan that) { return null != that && null == comparator ? null == that.comparator : comparator.equals(that.comparator); } /** * @see java.lang.Object#hashCode() */ public int hashCode() { int hash = "IsGreaterThan".hashCode(); if(null != comparator) { hash ^= comparator.hashCode(); } return hash; } /** * @see java.lang.Object#toString() */ public String toString() { return "IsGreaterThan<" + comparator + ">"; } public static final IsGreaterThan getGreaterThan() { return COMPARABLE_INSTANCE; } private Comparator comparator = null; private static final IsGreaterThan COMPARABLE_INSTANCE = new IsGreaterThan(); } 1.1 jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/core/comparator/IsGreaterThanOrEqual.java Index: IsGreaterThanOrEqual.java =================================================================== /* * $Header: /home/cvs/jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/core/comparator/IsGreaterThanOrEqual.java,v 1.1 2003/02/24 11:38: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 [EMAIL PROTECTED] * * 5. Products derived from this software may not be called "Apache", * nor may "Apache" appear in their name, 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.functor.core.comparator; import java.io.Serializable; import java.util.Comparator; import org.apache.commons.functor.BinaryPredicate; /** * A [EMAIL PROTECTED] BinaryPredicate BinaryPredicate} that [EMAIL PROTECTED] #test tests} * <code>true</code> iff the left argument is greater than or equal * to the right argument under the specified [EMAIL PROTECTED] Comparator}. * When no (or a <code>null</code> <code>Comparator</code> is specified, * a [EMAIL PROTECTED] Comparable Comparable} <code>Comparator</code> is used. * * @version $Revision: 1.1 $ $Date: 2003/02/24 11:38:06 $ * @author Rodney Waldhoff */ public final class IsGreaterThanOrEqual implements BinaryPredicate, Serializable { /** * Construct a <code>IsGreaterThanOrEqual</code> [EMAIL PROTECTED] BinaryPredicate predicate} * for [EMAIL PROTECTED] Comparable Comparable}s. */ public IsGreaterThanOrEqual() { this(null); } /** * Construct a <code>IsGreaterThanOrEqual</code> [EMAIL PROTECTED] BinaryPredicate predicate} * for the given [EMAIL PROTECTED] Comparator Comparator}. * * @param comparator the [EMAIL PROTECTED] Comparator Comparator}, when <code>null</code>, * a <code>Comparator</code> for [EMAIL PROTECTED] Comparable Comparable}s will * be used. */ public IsGreaterThanOrEqual(Comparator comparator) { this.comparator = null == comparator ? ComparableComparator.getInstance() : comparator; } /** * Return <code>true</code> iff the <i>left</i> parameter is * greater than or equal to the <i>right</i> parameter under my current * [EMAIL PROTECTED] Comparator Comparator}. */ public boolean test(Object left, Object right) { return comparator.compare(left,right) >= 0; } /** * @see java.lang.Object#equals(Object) */ public boolean equals(Object that) { if(that instanceof IsGreaterThanOrEqual) { return equals((IsGreaterThanOrEqual)that); } else { return false; } } /** * @see #equals(Object) */ public boolean equals(IsGreaterThanOrEqual that) { return null != that && null == comparator ? null == that.comparator : comparator.equals(that.comparator); } /** * @see java.lang.Object#hashCode() */ public int hashCode() { int hash = "IsGreaterThanOrEqual".hashCode(); if(null != comparator) { hash ^= comparator.hashCode(); } return hash; } /** * @see java.lang.Object#toString() */ public String toString() { return "IsGreaterThanOrEqual<" + comparator + ">"; } public static final IsGreaterThanOrEqual getGreaterThanOrEqual() { return COMPARABLE_INSTANCE; } private Comparator comparator = null; private static final IsGreaterThanOrEqual COMPARABLE_INSTANCE = new IsGreaterThanOrEqual(); } 1.1 jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/core/comparator/IsLessThan.java Index: IsLessThan.java =================================================================== /* * $Header: /home/cvs/jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/core/comparator/IsLessThan.java,v 1.1 2003/02/24 11:38: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 [EMAIL PROTECTED] * * 5. Products derived from this software may not be called "Apache", * nor may "Apache" appear in their name, 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.functor.core.comparator; import java.io.Serializable; import java.util.Comparator; import org.apache.commons.functor.BinaryPredicate; /** * A [EMAIL PROTECTED] BinaryPredicate BinaryPredicate} that [EMAIL PROTECTED] #test tests} * <code>true</code> iff the left argument is greater than the * right argument under the specified [EMAIL PROTECTED] Comparator}. * When no (or a <code>null</code> <code>Comparator</code> is specified, * a [EMAIL PROTECTED] Comparable Comparable} <code>Comparator</code> is used. * * @version $Revision: 1.1 $ $Date: 2003/02/24 11:38:06 $ * @author Rodney Waldhoff */ public final class IsLessThan implements BinaryPredicate, Serializable { /** * Construct a <code>IsLessThan</code> [EMAIL PROTECTED] BinaryPredicate predicate} * for [EMAIL PROTECTED] Comparable Comparable}s. */ public IsLessThan() { this(null); } /** * Construct a <code>IsLessThan</code> [EMAIL PROTECTED] BinaryPredicate predicate} * for the given [EMAIL PROTECTED] Comparator Comparator}. * * @param comparator the [EMAIL PROTECTED] Comparator Comparator}, when <code>null</code>, * a <code>Comparator</code> for [EMAIL PROTECTED] Comparable Comparable}s will * be used. */ public IsLessThan(Comparator comparator) { this.comparator = null == comparator ? ComparableComparator.getInstance() : comparator; } /** * Return <code>true</code> iff the <i>left</i> parameter is * less than the <i>right</i> parameter under my current * [EMAIL PROTECTED] Comparator Comparator}. */ public boolean test(Object left, Object right) { return comparator.compare(left,right) < 0; } /** * @see java.lang.Object#equals(Object) */ public boolean equals(Object that) { if(that instanceof IsLessThan) { return equals((IsLessThan)that); } else { return false; } } /** * @see #equals(Object) */ public boolean equals(IsLessThan that) { return null != that && null == comparator ? null == that.comparator : comparator.equals(that.comparator); } /** * @see java.lang.Object#hashCode() */ public int hashCode() { int hash = "IsLessThan".hashCode(); if(null != comparator) { hash ^= comparator.hashCode(); } return hash; } /** * @see java.lang.Object#toString() */ public String toString() { return "IsLessThan<" + comparator + ">"; } public static final IsLessThan getLessThan() { return COMPARABLE_INSTANCE; } private Comparator comparator = null; private static final IsLessThan COMPARABLE_INSTANCE = new IsLessThan(); } 1.1 jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/core/comparator/IsLessThanOrEqual.java Index: IsLessThanOrEqual.java =================================================================== /* * $Header: /home/cvs/jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/core/comparator/IsLessThanOrEqual.java,v 1.1 2003/02/24 11:38: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 [EMAIL PROTECTED] * * 5. Products derived from this software may not be called "Apache", * nor may "Apache" appear in their name, 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.functor.core.comparator; import java.io.Serializable; import java.util.Comparator; import org.apache.commons.functor.BinaryPredicate; /** * A [EMAIL PROTECTED] BinaryPredicate BinaryPredicate} that [EMAIL PROTECTED] #test tests} * <code>true</code> iff the left argument is less than or equal to the * right argument under the specified [EMAIL PROTECTED] Comparator}. * When no (or a <code>null</code> <code>Comparator</code> is specified, * a [EMAIL PROTECTED] Comparable Comparable} <code>Comparator</code> is used. * * @version $Revision: 1.1 $ $Date: 2003/02/24 11:38:06 $ * @author Rodney Waldhoff */ public final class IsLessThanOrEqual implements BinaryPredicate, Serializable { /** * Construct a <code>IsLessThanOrEqual</code> [EMAIL PROTECTED] BinaryPredicate predicate} * for [EMAIL PROTECTED] Comparable Comparable}s. */ public IsLessThanOrEqual() { this(null); } /** * Construct a <code>IsLessThanOrEqual</code> [EMAIL PROTECTED] BinaryPredicate predicate} * for the given [EMAIL PROTECTED] Comparator Comparator}. * * @param comparator the [EMAIL PROTECTED] Comparator Comparator}, when <code>null</code>, * a <code>Comparator</code> for [EMAIL PROTECTED] Comparable Comparable}s will * be used. */ public IsLessThanOrEqual(Comparator comparator) { this.comparator = null == comparator ? ComparableComparator.getInstance() : comparator; } /** * Return <code>true</code> iff the <i>left</i> parameter is * less than or equal to the <i>right</i> parameter under my current * [EMAIL PROTECTED] Comparator Comparator}. */ public boolean test(Object left, Object right) { return comparator.compare(left,right) <= 0; } /** * @see java.lang.Object#equals(Object) */ public boolean equals(Object that) { if(that instanceof IsLessThanOrEqual) { return equals((IsLessThanOrEqual)that); } else { return false; } } /** * @see #equals(Object) */ public boolean equals(IsLessThanOrEqual that) { return null != that && null == comparator ? null == that.comparator : comparator.equals(that.comparator); } /** * @see java.lang.Object#hashCode() */ public int hashCode() { int hash = "IsLessThanOrEqual".hashCode(); if(null != comparator) { hash ^= comparator.hashCode(); } return hash; } /** * @see java.lang.Object#toString() */ public String toString() { return "IsLessThanOrEqual<" + comparator + ">"; } public static final IsLessThanOrEqual getLessThanOrEqual() { return COMPARABLE_INSTANCE; } private Comparator comparator = null; private static final IsLessThanOrEqual COMPARABLE_INSTANCE = new IsLessThanOrEqual(); } 1.1 jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/core/comparator/IsNotEquivalent.java Index: IsNotEquivalent.java =================================================================== /* * $Header: /home/cvs/jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/core/comparator/IsNotEquivalent.java,v 1.1 2003/02/24 11:38: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 [EMAIL PROTECTED] * * 5. Products derived from this software may not be called "Apache", * nor may "Apache" appear in their name, 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.functor.core.comparator; import java.io.Serializable; import java.util.Comparator; import org.apache.commons.functor.BinaryPredicate; /** * A [EMAIL PROTECTED] BinaryPredicate BinaryPredicate} that [EMAIL PROTECTED] #test tests} * <code>true</code> iff the left argument is not equal to the * right argument under the specified [EMAIL PROTECTED] Comparator}. * When no (or a <code>null</code> <code>Comparator</code> is specified, * a [EMAIL PROTECTED] Comparable Comparable} <code>Comparator</code> is used. * * @see org.apache.commons.functor.core.IsEqual * * @version $Revision: 1.1 $ $Date: 2003/02/24 11:38:06 $ * @author Rodney Waldhoff * */ public final class IsNotEquivalent implements BinaryPredicate, Serializable { /** * Construct a <code>IsNotEquivalent</code> [EMAIL PROTECTED] BinaryPredicate predicate} * for [EMAIL PROTECTED] Comparable Comparable}s. */ public IsNotEquivalent() { this(null); } /** * Construct a <code>IsNotEquivalent</code> [EMAIL PROTECTED] BinaryPredicate predicate} * for the given [EMAIL PROTECTED] Comparator Comparator}. * * @param comparator the [EMAIL PROTECTED] Comparator Comparator}, when <code>null</code>, * a <code>Comparator</code> for [EMAIL PROTECTED] Comparable Comparable}s will * be used. */ public IsNotEquivalent(Comparator comparator) { this.comparator = null == comparator ? ComparableComparator.getInstance() : comparator; } /** * Return <code>true</code> iff the <i>left</i> parameter is * not equal to the <i>right</i> parameter under my current * [EMAIL PROTECTED] Comparator Comparator}. */ public boolean test(Object left, Object right) { return comparator.compare(left,right) != 0; } /** * @see java.lang.Object#equals(Object) */ public boolean equals(Object that) { if(that instanceof IsNotEquivalent) { return equals((IsNotEquivalent)that); } else { return false; } } /** * @see #equals(Object) */ public boolean equals(IsNotEquivalent that) { return null != that && null == comparator ? null == that.comparator : comparator.equals(that.comparator); } /** * @see java.lang.Object#hashCode() */ public int hashCode() { int hash = "IsNotEquivalent".hashCode(); if(null != comparator) { hash ^= comparator.hashCode(); } return hash; } /** * @see java.lang.Object#toString() */ public String toString() { return "IsNotEquivalent<" + comparator + ">"; } public static final IsNotEquivalent getNotEquivalent() { return COMPARABLE_INSTANCE; } private Comparator comparator = null; private static final IsNotEquivalent COMPARABLE_INSTANCE = new IsNotEquivalent(); } 1.5 +7 -7 jakarta-commons-sandbox/functor/src/test/org/apache/commons/functor/core/TestAll.java Index: TestAll.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/functor/src/test/org/apache/commons/functor/core/TestAll.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- TestAll.java 20 Feb 2003 01:12:41 -0000 1.4 +++ TestAll.java 24 Feb 2003 11:38:06 -0000 1.5 @@ -78,11 +78,11 @@ suite.addTest(TestIdentityFunction.suite()); suite.addTest(TestLeftIdentityFunction.suite()); suite.addTest(TestRightIdentityFunction.suite()); - suite.addTest(TestInstanceOfPredicate.suite()); - suite.addTest(TestIsNullPredicate.suite()); - suite.addTest(TestIsNotNullPredicate.suite()); - suite.addTest(TestEqualPredicate.suite()); - suite.addTest(TestNotEqualPredicate.suite()); + suite.addTest(TestIsInstanceOf.suite()); + suite.addTest(TestIsNull.suite()); + suite.addTest(TestIsNotNull.suite()); + suite.addTest(TestIsEqual.suite()); + suite.addTest(TestIsNotEqual.suite()); suite.addTest(TestIdentityPredicate.suite()); suite.addTest(TestLeftIdentityPredicate.suite()); suite.addTest(TestRightIdentityPredicate.suite()); 1.1 jakarta-commons-sandbox/functor/src/test/org/apache/commons/functor/core/TestIsEqual.java Index: TestIsEqual.java =================================================================== /* * $Header: /home/cvs/jakarta-commons-sandbox/functor/src/test/org/apache/commons/functor/core/TestIsEqual.java,v 1.1 2003/02/24 11:38: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 [EMAIL PROTECTED] * * 5. Products derived from this software may not be called "Apache", * nor may "Apache" appear in their name, 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.functor.core; import junit.framework.Test; import junit.framework.TestSuite; import org.apache.commons.functor.BaseFunctorTest; import org.apache.commons.functor.BinaryPredicate; /** * @version $Revision: 1.1 $ $Date: 2003/02/24 11:38:06 $ * @author Rodney Waldhoff */ public class TestIsEqual extends BaseFunctorTest { // Conventional // ------------------------------------------------------------------------ public TestIsEqual(String testName) { super(testName); } public static Test suite() { return new TestSuite(TestIsEqual.class); } // Functor Testing Framework // ------------------------------------------------------------------------ protected Object makeFunctor() { return new IsEqual(); } // Lifecycle // ------------------------------------------------------------------------ public void setUp() throws Exception { super.setUp(); } public void tearDown() throws Exception { super.tearDown(); } // Tests // ------------------------------------------------------------------------ public void testTest() throws Exception { IsEqual p = new IsEqual(); assertTrue("For symmetry, two nulls should be equal",p.test(null,null)); assertTrue(p.test("foo","foo")); assertTrue(!p.test(null,"foo")); assertTrue(!p.test("foo",null)); assertTrue(p.test(new Integer(3),new Integer(3))); assertTrue(!p.test(null,new Integer(3))); assertTrue(!p.test(new Integer(3),null)); assertTrue(!p.test(new Integer(3),new Integer(4))); assertTrue(!p.test(new Integer(4),new Integer(3))); assertTrue(!p.test("3",new Integer(3))); assertTrue(!p.test(new Integer(3),"3")); } public void testEquals() throws Exception { BinaryPredicate f = new IsEqual(); assertEquals(f,f); assertObjectsAreEqual(f,new IsEqual()); assertObjectsAreEqual(f,IsEqual.getEqualPredicate()); assertObjectsAreNotEqual(f,ConstantPredicate.getTruePredicate()); } public void testConstant() throws Exception { assertEquals(IsEqual.getEqualPredicate(),IsEqual.getEqualPredicate()); assertSame(IsEqual.getEqualPredicate(),IsEqual.getEqualPredicate()); } } 1.1 jakarta-commons-sandbox/functor/src/test/org/apache/commons/functor/core/TestIsInstanceOf.java Index: TestIsInstanceOf.java =================================================================== /* * $Header: /home/cvs/jakarta-commons-sandbox/functor/src/test/org/apache/commons/functor/core/TestIsInstanceOf.java,v 1.1 2003/02/24 11:38: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 [EMAIL PROTECTED] * * 5. Products derived from this software may not be called "Apache", * nor may "Apache" appear in their name, 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.functor.core; import junit.framework.Test; import junit.framework.TestSuite; import org.apache.commons.functor.BaseFunctorTest; import org.apache.commons.functor.UnaryPredicate; /** * @version $Revision: 1.1 $ $Date: 2003/02/24 11:38:06 $ * @author Rodney Waldhoff */ public class TestIsInstanceOf extends BaseFunctorTest { // Conventional // ------------------------------------------------------------------------ public TestIsInstanceOf(String testName) { super(testName); } public static Test suite() { return new TestSuite(TestIsInstanceOf.class); } // Functor Testing Framework // ------------------------------------------------------------------------ protected Object makeFunctor() { return new IsInstanceOf(String.class); } // Lifecycle // ------------------------------------------------------------------------ public void setUp() throws Exception { super.setUp(); } public void tearDown() throws Exception { super.tearDown(); } // Tests // ------------------------------------------------------------------------ public void testTest() throws Exception { UnaryPredicate p = new IsInstanceOf(Number.class); assertTrue(!p.test(null)); assertTrue(!p.test("foo")); assertTrue(p.test(new Integer(3))); assertTrue(p.test((Object)(new Integer(3)))); assertTrue(p.test((new Long(3L)))); } public void testInstanceOfNull() throws Exception { UnaryPredicate p = new IsInstanceOf(null); try { p.test("foo"); fail("Expected NullPointerException"); } catch(NullPointerException e) { // expected } } public void testEquals() throws Exception { UnaryPredicate p = new IsInstanceOf(Object.class); assertEquals(p,p); assertObjectsAreEqual(p,new IsInstanceOf(Object.class)); assertObjectsAreNotEqual(p,ConstantPredicate.getTruePredicate()); assertObjectsAreNotEqual(p,new IsInstanceOf(null)); assertObjectsAreNotEqual(p,new IsInstanceOf(String.class)); } } 1.1 jakarta-commons-sandbox/functor/src/test/org/apache/commons/functor/core/TestIsNotEqual.java Index: TestIsNotEqual.java =================================================================== /* * $Header: /home/cvs/jakarta-commons-sandbox/functor/src/test/org/apache/commons/functor/core/TestIsNotEqual.java,v 1.1 2003/02/24 11:38: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 [EMAIL PROTECTED] * * 5. Products derived from this software may not be called "Apache", * nor may "Apache" appear in their name, 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.functor.core; import junit.framework.Test; import junit.framework.TestSuite; import org.apache.commons.functor.BaseFunctorTest; import org.apache.commons.functor.BinaryPredicate; /** * @version $Revision: 1.1 $ $Date: 2003/02/24 11:38:06 $ * @author Rodney Waldhoff */ public class TestIsNotEqual extends BaseFunctorTest { // Conventional // ------------------------------------------------------------------------ public TestIsNotEqual(String testName) { super(testName); } public static Test suite() { return new TestSuite(TestIsNotEqual.class); } // Functor Testing Framework // ------------------------------------------------------------------------ protected Object makeFunctor() { return new IsNotEqual(); } // Lifecycle // ------------------------------------------------------------------------ public void setUp() throws Exception { super.setUp(); } public void tearDown() throws Exception { super.tearDown(); } // Tests // ------------------------------------------------------------------------ public void testTest() throws Exception { IsNotEqual p = new IsNotEqual(); assertTrue("For symmetry, two nulls should be equal",!p.test(null,null)); assertTrue(!p.test("foo","foo")); assertTrue(p.test(null,"foo")); assertTrue(p.test("foo",null)); assertTrue(!p.test(new Integer(3),new Integer(3))); assertTrue(p.test(null,new Integer(3))); assertTrue(p.test(new Integer(3),null)); assertTrue(p.test(new Integer(3),new Integer(4))); assertTrue(p.test(new Integer(4),new Integer(3))); assertTrue(p.test("3",new Integer(3))); assertTrue(p.test(new Integer(3),"3")); } public void testEquals() throws Exception { BinaryPredicate p = new IsNotEqual(); assertEquals(p,p); assertObjectsAreEqual(p,new IsNotEqual()); assertObjectsAreEqual(p,IsNotEqual.getNotEqualPredicate()); assertObjectsAreNotEqual(p,ConstantPredicate.getTruePredicate()); } public void testConstant() throws Exception { assertEquals(IsNotEqual.getNotEqualPredicate(),IsNotEqual.getNotEqualPredicate()); assertSame(IsNotEqual.getNotEqualPredicate(),IsNotEqual.getNotEqualPredicate()); } } 1.1 jakarta-commons-sandbox/functor/src/test/org/apache/commons/functor/core/TestIsNotNull.java Index: TestIsNotNull.java =================================================================== /* * $Header: /home/cvs/jakarta-commons-sandbox/functor/src/test/org/apache/commons/functor/core/TestIsNotNull.java,v 1.1 2003/02/24 11:38: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 [EMAIL PROTECTED] * * 5. Products derived from this software may not be called "Apache", * nor may "Apache" appear in their name, 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.functor.core; import junit.framework.Test; import junit.framework.TestSuite; import org.apache.commons.functor.BaseFunctorTest; import org.apache.commons.functor.UnaryPredicate; /** * @version $Revision: 1.1 $ $Date: 2003/02/24 11:38:06 $ * @author Rodney Waldhoff */ public class TestIsNotNull extends BaseFunctorTest { // Conventional // ------------------------------------------------------------------------ public TestIsNotNull(String testName) { super(testName); } public static Test suite() { return new TestSuite(TestIsNotNull.class); } // Functor Testing Framework // ------------------------------------------------------------------------ protected Object makeFunctor() { return new IsNotNull(); } // Lifecycle // ------------------------------------------------------------------------ public void setUp() throws Exception { super.setUp(); } public void tearDown() throws Exception { super.tearDown(); } // Tests // ------------------------------------------------------------------------ public void testTest() throws Exception { UnaryPredicate p = new IsNotNull(); assertTrue(!p.test(null)); assertTrue(p.test("foo")); assertTrue(p.test(new Integer(3))); } public void testEquals() throws Exception { UnaryPredicate p = new IsNotNull(); assertEquals(p,p); assertObjectsAreEqual(p,new IsNotNull()); assertObjectsAreEqual(p,IsNotNull.getIsNotNullPredicate()); assertObjectsAreNotEqual(p,ConstantPredicate.getTruePredicate()); } public void testConstant() throws Exception { assertEquals(IsNotNull.getIsNotNullPredicate(),IsNotNull.getIsNotNullPredicate()); assertSame(IsNotNull.getIsNotNullPredicate(),IsNotNull.getIsNotNullPredicate()); } } 1.1 jakarta-commons-sandbox/functor/src/test/org/apache/commons/functor/core/TestIsNull.java Index: TestIsNull.java =================================================================== /* * $Header: /home/cvs/jakarta-commons-sandbox/functor/src/test/org/apache/commons/functor/core/TestIsNull.java,v 1.1 2003/02/24 11:38: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 [EMAIL PROTECTED] * * 5. Products derived from this software may not be called "Apache", * nor may "Apache" appear in their name, 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.functor.core; import junit.framework.Test; import junit.framework.TestSuite; import org.apache.commons.functor.BaseFunctorTest; import org.apache.commons.functor.UnaryPredicate; /** * @version $Revision: 1.1 $ $Date: 2003/02/24 11:38:06 $ * @author Rodney Waldhoff */ public class TestIsNull extends BaseFunctorTest { // Conventional // ------------------------------------------------------------------------ public TestIsNull(String testName) { super(testName); } public static Test suite() { return new TestSuite(TestIsNull.class); } // Functor Testing Framework // ------------------------------------------------------------------------ protected Object makeFunctor() { return new IsNull(); } // Lifecycle // ------------------------------------------------------------------------ public void setUp() throws Exception { super.setUp(); } public void tearDown() throws Exception { super.tearDown(); } // Tests // ------------------------------------------------------------------------ public void testTest() throws Exception { UnaryPredicate p = new IsNull(); assertTrue(p.test(null)); assertTrue(!p.test("foo")); assertTrue(!p.test(new Integer(3))); } public void testEquals() throws Exception { UnaryPredicate p = new IsNull(); assertEquals(p,p); assertObjectsAreEqual(p,new IsNull()); assertObjectsAreEqual(p,IsNull.getIsNullPredicate()); assertObjectsAreNotEqual(p,ConstantPredicate.getTruePredicate()); } public void testConstant() throws Exception { assertEquals(IsNull.getIsNullPredicate(),IsNull.getIsNullPredicate()); assertSame(IsNull.getIsNullPredicate(),IsNull.getIsNullPredicate()); } } 1.4 +5 -5 jakarta-commons-sandbox/functor/src/test/org/apache/commons/functor/core/collection/TestCollectionAlgorithms.java Index: TestCollectionAlgorithms.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/functor/src/test/org/apache/commons/functor/core/collection/TestCollectionAlgorithms.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- TestCollectionAlgorithms.java 19 Feb 2003 12:34:20 -0000 1.3 +++ TestCollectionAlgorithms.java 24 Feb 2003 11:38:07 -0000 1.4 @@ -73,7 +73,7 @@ import org.apache.commons.functor.UnaryPredicate; import org.apache.commons.functor.UnaryProcedure; import org.apache.commons.functor.adapter.LeftBoundPredicate; -import org.apache.commons.functor.core.EqualPredicate; +import org.apache.commons.functor.core.IsEqual; import org.apache.commons.functor.core.IdentityFunction; /** @@ -247,8 +247,8 @@ private List evens = null; private List listWithDuplicates = null; private int sum = 0; - private UnaryPredicate equalsThree = LeftBoundPredicate.bind(EqualPredicate.getEqualPredicate(),new Integer(3)); - private UnaryPredicate equalsTwentyThree = LeftBoundPredicate.bind(EqualPredicate.getEqualPredicate(),new Integer(23)); + private UnaryPredicate equalsThree = LeftBoundPredicate.bind(IsEqual.getEqualPredicate(),new Integer(3)); + private UnaryPredicate equalsTwentyThree = LeftBoundPredicate.bind(IsEqual.getEqualPredicate(),new Integer(23)); private UnaryPredicate isEven = new UnaryPredicate() { public boolean test(Object obj) { return ((Number)obj).intValue() % 2 == 0; 1.3 +6 -6 jakarta-commons-sandbox/functor/src/test/org/apache/commons/functor/example/Quicksort.java Index: Quicksort.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/functor/src/test/org/apache/commons/functor/example/Quicksort.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- Quicksort.java 21 Feb 2003 00:12:29 -0000 1.2 +++ Quicksort.java 24 Feb 2003 11:38:07 -0000 1.3 @@ -73,8 +73,8 @@ import org.apache.commons.functor.core.ConstantFunction; import org.apache.commons.functor.core.collection.CollectionAlgorithms; import org.apache.commons.functor.core.collection.IsEmpty; -import org.apache.commons.functor.core.comparator.GreaterThanOrEqual; -import org.apache.commons.functor.core.comparator.LessThan; +import org.apache.commons.functor.core.comparator.IsGreaterThanOrEqual; +import org.apache.commons.functor.core.comparator.IsLessThan; import org.apache.commons.functor.core.composite.ConditionalUnaryFunction; @@ -439,7 +439,7 @@ return CollectionAlgorithms.select( ((List)tail).iterator(), RightBoundPredicate.bind( - LessThan.getLessThan(), + IsLessThan.getLessThan(), head)); } }; @@ -449,7 +449,7 @@ return CollectionAlgorithms.select( ((List)tail).iterator(), RightBoundPredicate.bind( - GreaterThanOrEqual.getGreaterThanOrEqual(), + IsGreaterThanOrEqual.getGreaterThanOrEqual(), head)); } };
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]