Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.utility/src/org/eclipse/jpt/utility/internal/ReverseComparator.java')
-rw-r--r--jpa/plugins/org.eclipse.jpt.utility/src/org/eclipse/jpt/utility/internal/ReverseComparator.java41
1 files changed, 41 insertions, 0 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.utility/src/org/eclipse/jpt/utility/internal/ReverseComparator.java b/jpa/plugins/org.eclipse.jpt.utility/src/org/eclipse/jpt/utility/internal/ReverseComparator.java
new file mode 100644
index 0000000000..16ff4584d5
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.utility/src/org/eclipse/jpt/utility/internal/ReverseComparator.java
@@ -0,0 +1,41 @@
+/*******************************************************************************
+ * Copyright (c) 2005, 2007 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.utility.internal;
+
+import java.io.Serializable;
+import java.util.Comparator;
+
+/**
+ * This comparator will reverse the order of the specified comparator.
+ * If the comparator is null, the natural ordering of the objects will be used.
+ */
+public class ReverseComparator<E extends Comparable<? super E>>
+ implements Comparator<E>, Serializable
+{
+ private final Comparator<E> comparator;
+
+ public ReverseComparator() {
+ this(null);
+ }
+
+ public ReverseComparator(Comparator<E> comparator) {
+ super();
+ this.comparator = comparator;
+ }
+
+ @SuppressWarnings("unchecked")
+ public int compare(E e1, E e2) {
+ return (this.comparator == null) ?
+ e2.compareTo(e1)
+ :
+ this.comparator.compare(e2, e1);
+ }
+
+}

Back to the top