You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@thrift.apache.org by br...@apache.org on 2009/07/31 21:32:34 UTC
svn commit: r799714 -
/incubator/thrift/trunk/lib/java/src/org/apache/thrift/TBaseHelper.java
Author: bryanduxbury
Date: Fri Jul 31 19:32:34 2009
New Revision: 799714
URL: http://svn.apache.org/viewvc?rev=799714&view=rev
Log:
THRIFT-144. java: Generated classes should implement Comparable
Forgot to add TBaseHelper.java. Oops.
Added:
incubator/thrift/trunk/lib/java/src/org/apache/thrift/TBaseHelper.java
Added: incubator/thrift/trunk/lib/java/src/org/apache/thrift/TBaseHelper.java
URL: http://svn.apache.org/viewvc/incubator/thrift/trunk/lib/java/src/org/apache/thrift/TBaseHelper.java?rev=799714&view=auto
==============================================================================
--- incubator/thrift/trunk/lib/java/src/org/apache/thrift/TBaseHelper.java (added)
+++ incubator/thrift/trunk/lib/java/src/org/apache/thrift/TBaseHelper.java Fri Jul 31 19:32:34 2009
@@ -0,0 +1,102 @@
+package org.apache.thrift;
+
+import java.util.List;
+
+public class TBaseHelper {
+
+ public static int compareTo(boolean a, boolean b) {
+ return Boolean.valueOf(a).compareTo(b);
+ }
+
+ public static int compareTo(byte a, byte b) {
+ if (a < b) {
+ return -1;
+ } else if (b < a) {
+ return 1;
+ } else {
+ return 0;
+ }
+ }
+
+ public static int compareTo(short a, short b) {
+ if (a < b) {
+ return -1;
+ } else if (b < a) {
+ return 1;
+ } else {
+ return 0;
+ }
+ }
+
+ public static int compareTo(int a, int b) {
+ if (a < b) {
+ return -1;
+ } else if (b < a) {
+ return 1;
+ } else {
+ return 0;
+ }
+ }
+
+ public static int compareTo(long a, long b) {
+ if (a < b) {
+ return -1;
+ } else if (b < a) {
+ return 1;
+ } else {
+ return 0;
+ }
+ }
+
+ public static int compareTo(double a, double b) {
+ if (a < b) {
+ return -1;
+ } else if (b < a) {
+ return 1;
+ } else {
+ return 0;
+ }
+ }
+
+ public static int compareTo(String a, String b) {
+ return a.compareTo(b);
+ }
+
+ public static int compareTo(byte[] a, byte[] b) {
+ int sizeCompare = compareTo(a.length, b.length);
+ if (sizeCompare != 0) {
+ return sizeCompare;
+ }
+ for (int i = 0; i < a.length; i++) {
+ int byteCompare = compareTo(a, b);
+ if (byteCompare !=0) {
+ return byteCompare;
+ }
+ }
+ return 0;
+ }
+
+ public static int compareTo(Comparable a, Comparable b) {
+ return a.compareTo(b);
+ }
+
+ public static int compareTo(List a, List b) {
+ int lastComparison = compareTo(a.size(), b.size());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ for (int i = 0; i < a.size(); i++) {
+ Object oA = a.get(i);
+ Object oB = b.get(i);
+ if (oA instanceof List) {
+ lastComparison = compareTo((List)oA, (List)oB);
+ } else {
+ lastComparison = compareTo((Comparable)oA, (Comparable)oB);
+ }
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ return 0;
+ }
+}