diff options
Diffstat (limited to 'projects/net.wotonomy.foundation/src/main/java/net/wotonomy/foundation/NSComparator.java')
| -rw-r--r-- | projects/net.wotonomy.foundation/src/main/java/net/wotonomy/foundation/NSComparator.java | 35 |
1 files changed, 20 insertions, 15 deletions
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 index 6c88d19..2ce3646 100644 --- 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 @@ -32,10 +32,11 @@ import java.util.Comparator; * @version $Revision: 913 $ */ -public abstract class NSComparator implements Comparator { - protected static class _NSSelectorComparator extends NSComparator { +public abstract class NSComparator<T> implements Comparator<T> { + protected static class _NSSelectorComparator extends NSComparator<NSSelector> { - public int compare(Object obj, Object obj1) throws ComparisonException { + @Override + public int compare(NSSelector obj, NSSelector obj1) throws ComparisonException { throw new UnsupportedOperationException("Not Yet Implemented"); } @@ -44,33 +45,36 @@ public abstract class NSComparator implements Comparator { } } - private static class StandInComparator extends NSComparator { + private static class StandInComparator<T> extends NSComparator<T> { public StandInComparator() { throw new UnsupportedOperationException("Not Yet Implemented"); } - public int compare(Object obj, Object obj1) throws ComparisonException { + @Override + public int compare(T obj, T obj1) throws ComparisonException { throw new UnsupportedOperationException("Not Yet Implemented"); } } public static class ComparisonException extends ClassCastException { + private static final long serialVersionUID = 8417668044508338674L; 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 NSComparator<String> AscendingStringComparator = new StandInComparator<>(); + public static final NSComparator<String> DescendingStringComparator = new StandInComparator<>(); + public static final NSComparator<String> AscendingCaseInsensitiveStringComparator = new StandInComparator<>(); + public static final NSComparator<String> DescendingCaseInsensitiveStringComparator = new StandInComparator<>(); + public static final NSComparator<String> AscendingNumberComparator = new StandInComparator<>(); + public static final NSComparator<String> DescendingNumberComparator = new StandInComparator<>(); + public static final NSComparator<String> AscendingTimestampComparator = new StandInComparator<>(); + public static final NSComparator<String> DescendingTimestampComparator = new StandInComparator<>(); + public static final int OrderedAscending = -1; public static final int OrderedSame = 0; public static final int OrderedDescending = 1; @@ -78,9 +82,10 @@ public abstract class NSComparator implements Comparator { public NSComparator() { } - public abstract int compare(Object obj, Object obj1) throws ClassCastException; + @Override + public abstract int compare(T obj, T obj1) throws ClassCastException; - public static int _compareObjects(Comparable comparable, Comparable comparable1) { + public static <T> int _compareObjects(Comparable<T> comparable, Comparable<T> comparable1) { throw new UnsupportedOperationException("Not Yet Implemented"); } |
