From aedc34d55462a75e329bbf342251ff6504cd117e Mon Sep 17 00:00:00 2001 From: Benjamin Culkin Date: Sun, 19 May 2024 17:56:33 -0400 Subject: Initial import from SVN --- .../java/net/wotonomy/foundation/NSComparator.java | 104 +++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 projects/net.wotonomy.foundation/src/main/java/net/wotonomy/foundation/NSComparator.java (limited to 'projects/net.wotonomy.foundation/src/main/java/net/wotonomy/foundation/NSComparator.java') diff --git a/projects/net.wotonomy.foundation/src/main/java/net/wotonomy/foundation/NSComparator.java b/projects/net.wotonomy.foundation/src/main/java/net/wotonomy/foundation/NSComparator.java new file mode 100644 index 0000000..287a59b --- /dev/null +++ b/projects/net.wotonomy.foundation/src/main/java/net/wotonomy/foundation/NSComparator.java @@ -0,0 +1,104 @@ +/* +Wotonomy: OpenStep design patterns for pure Java applications. +Copyright (C) 2002 Israfil consulting Services Corporation + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, see http://www.gnu.org + +$Id: NSComparator.java 913 2006-03-10 00:52:27Z cgruber $ + +*/ + +package net.wotonomy.foundation; + +import java.util.Comparator; + + +/** +* An object that compares two other objects. As a convenience, it +* also implements java.util.Comparator. +* +* @author cgruber@israfil.net +* @author $Author: cgruber $ +* @version $Revision: 913 $ +*/ + +public abstract class NSComparator implements Comparator { + protected static class _NSSelectorComparator extends NSComparator { + + public int compare(Object obj, Object obj1) throws ComparisonException { + throw new UnsupportedOperationException("Not Yet Implemented"); + } + + public _NSSelectorComparator(NSSelector nsselector) { + throw new UnsupportedOperationException("Not Yet Implemented"); + } + } + + private static class StandInComparator extends NSComparator { + + public StandInComparator() { + throw new UnsupportedOperationException("Not Yet Implemented"); + } + + public int compare(Object obj, Object obj1) throws ComparisonException { + throw new UnsupportedOperationException("Not Yet Implemented"); + } + + } + + public static class ComparisonException extends ClassCastException { + + public ComparisonException(String s) { + super(s); + } + } + + + public static final NSComparator AscendingStringComparator = new StandInComparator(); + public static final NSComparator DescendingStringComparator = new StandInComparator(); + public static final NSComparator AscendingCaseInsensitiveStringComparator = new StandInComparator(); + public static final NSComparator DescendingCaseInsensitiveStringComparator = new StandInComparator(); + public static final NSComparator AscendingNumberComparator = new StandInComparator(); + public static final NSComparator DescendingNumberComparator = new StandInComparator(); + public static final NSComparator AscendingTimestampComparator = new StandInComparator(); + public static final NSComparator DescendingTimestampComparator = new StandInComparator(); + public static final int OrderedAscending = -1; + public static final int OrderedSame = 0; + public static final int OrderedDescending = 1; + + public NSComparator() { + } + + public abstract int compare(Object obj, Object obj1) throws ClassCastException; + + public static int _compareObjects(Comparable comparable, Comparable comparable1) { + throw new UnsupportedOperationException("Not Yet Implemented"); + } + +} +/* + * $Log$ + * Revision 1.2 2006/03/10 00:52:27 cgruber + * Add tests for NSArray and fix some problems that became obvious as a result. + * + * Revision 1.1 2006/02/16 12:47:16 cgruber + * Check in all sources in eclipse-friendly maven-enabled packages. + * + * Revision 1.1 2002/07/14 21:56:16 mpowers + * Contributions from cgruber. + * + * Revision 1.1 2002/06/25 07:52:56 cgruber + * Add quite a few abstract classes, interfaces, and classes. All API consistent with WebObjects, but with no implementation, nor any private or package access members from the original. + * + */ -- cgit v1.2.3