From 0fab12e9681581d4919cb7afe21d853c9e300614 Mon Sep 17 00:00:00 2001 From: Bryan Duxbury Date: Thu, 22 Apr 2010 00:22:34 +0000 Subject: [PATCH] THRIFT-759. java: Make TBase implement Comparable git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@936581 13f79535-47bb-0310-9956-ffa450edef68 --- compiler/cpp/src/generate/t_java_generator.cc | 10 +++------- lib/java/src/org/apache/thrift/TBase.java | 4 ++-- lib/java/src/org/apache/thrift/TUnion.java | 4 ++-- 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/compiler/cpp/src/generate/t_java_generator.cc b/compiler/cpp/src/generate/t_java_generator.cc index cda35037..970c32c3 100644 --- a/compiler/cpp/src/generate/t_java_generator.cc +++ b/compiler/cpp/src/generate/t_java_generator.cc @@ -701,10 +701,8 @@ void t_java_generator::generate_java_union(t_struct* tstruct) { bool is_final = (tstruct->annotations_.find("final") != tstruct->annotations_.end()); indent(f_struct) << - "public " << (is_final ? "final " : "") << "class " << tstruct->get_name() - << " extends TUnion<" << tstruct->get_name() << "._Fields> "; - - f_struct << "implements Comparable<" << type_name(tstruct) << "> "; + "public " << (is_final ? "final " : "") << "class " << tstruct->get_name() + << " extends TUnion<" << tstruct->get_name() << ", " << tstruct->get_name() << "._Fields> "; scope_up(f_struct); @@ -1072,9 +1070,7 @@ void t_java_generator::generate_java_struct_definition(ofstream &out, if (is_exception) { out << "extends Exception "; } - out << "implements TBase<" << tstruct->get_name() << "._Fields>, java.io.Serializable, Cloneable"; - - out << ", Comparable<" << type_name(tstruct) << ">"; + out << "implements TBase<" << tstruct->get_name() << ", " << tstruct->get_name() << "._Fields>, java.io.Serializable, Cloneable"; out << " "; diff --git a/lib/java/src/org/apache/thrift/TBase.java b/lib/java/src/org/apache/thrift/TBase.java index bfa0abea..64ece803 100644 --- a/lib/java/src/org/apache/thrift/TBase.java +++ b/lib/java/src/org/apache/thrift/TBase.java @@ -27,7 +27,7 @@ import org.apache.thrift.protocol.TProtocol; * Generic base interface for generated Thrift objects. * */ -public interface TBase extends Serializable { +public interface TBase extends Comparable, Serializable { /** * Reads the TObject from the given input protocol. @@ -92,5 +92,5 @@ public interface TBase extends Serializable { */ public void setFieldValue(F field, Object value); - public TBase deepCopy(); + public TBase deepCopy(); } diff --git a/lib/java/src/org/apache/thrift/TUnion.java b/lib/java/src/org/apache/thrift/TUnion.java index cc3c069d..f5a73870 100644 --- a/lib/java/src/org/apache/thrift/TUnion.java +++ b/lib/java/src/org/apache/thrift/TUnion.java @@ -29,7 +29,7 @@ import org.apache.thrift.protocol.TProtocol; import org.apache.thrift.protocol.TProtocolException; import org.apache.thrift.protocol.TStruct; -public abstract class TUnion implements TBase { +public abstract class TUnion implements TBase { protected Object value_; protected F setField_; @@ -43,7 +43,7 @@ public abstract class TUnion implements TBase { setFieldValue(setField, value); } - protected TUnion(TUnion other) { + protected TUnion(TUnion other) { if (!other.getClass().equals(this.getClass())) { throw new ClassCastException(); } -- 2.17.1