Author: bryanduxbury
Date: Mon May 23 21:41:02 2011
New Revision: 1126765

URL: http://svn.apache.org/viewvc?rev=1126765&view=rev
Log:
THRIFT-1170. java: Thrift Generated Code and Java 5

This patch adds a trivial java5 option to the java generator.

Patch: Greg Moulliet

Modified:
    thrift/trunk/compiler/cpp/src/generate/t_java_generator.cc
    thrift/trunk/lib/java/src/org/apache/thrift/TUnion.java

Modified: thrift/trunk/compiler/cpp/src/generate/t_java_generator.cc
URL: 
http://svn.apache.org/viewvc/thrift/trunk/compiler/cpp/src/generate/t_java_generator.cc?rev=1126765&r1=1126764&r2=1126765&view=diff
==============================================================================
--- thrift/trunk/compiler/cpp/src/generate/t_java_generator.cc (original)
+++ thrift/trunk/compiler/cpp/src/generate/t_java_generator.cc Mon May 23 
21:41:02 2011
@@ -62,6 +62,12 @@ class t_java_generator : public t_oop_ge
     iter = parsed_options.find("android_legacy");
     android_legacy_ = (iter != parsed_options.end());
 
+    iter = parsed_options.find("java5");
+    java5_ = (iter != parsed_options.end());
+    if (java5_) {
+        android_legacy_ = true;
+    }
+
     out_dir_base_ = (bean_style_ ? "gen-javabean" : "gen-java");
   }
 
@@ -262,6 +268,7 @@ class t_java_generator : public t_oop_ge
   bool nocamel_style_;
   bool gen_hash_code_;
   bool android_legacy_;
+  bool java5_;
 
 };
 
@@ -3789,7 +3796,9 @@ bool t_java_generator::has_bit_vector(t_
 }
 
 void t_java_generator::generate_java_struct_clear(std::ofstream& out, 
t_struct* tstruct) {
-  indent(out) << "@Override" << endl;
+  if (!java5_) {
+     indent(out) << "@Override" << endl;
+  }
   indent(out) << "public void clear() {" << endl;
 
   const vector<t_field*>& members = tstruct->get_members();
@@ -3869,5 +3878,6 @@ THRIFT_REGISTER_GENERATOR(java, "Java",
 "    nocamel:         Do not use CamelCase field accessors with beans.\n"
 "    hashcode:        Generate quality hashCode methods.\n"
 "    android_legacy:  Do not use java.io.IOException(throwable) (available for 
Android 2.3 and above).\n"
+"    java5:           Generate Java 1.5 compliant code (includes 
android_legacy flag)."
 )
 

Modified: thrift/trunk/lib/java/src/org/apache/thrift/TUnion.java
URL: 
http://svn.apache.org/viewvc/thrift/trunk/lib/java/src/org/apache/thrift/TUnion.java?rev=1126765&r1=1126764&r2=1126765&view=diff
==============================================================================
--- thrift/trunk/lib/java/src/org/apache/thrift/TUnion.java (original)
+++ thrift/trunk/lib/java/src/org/apache/thrift/TUnion.java Mon May 23 21:41:02 
2011
@@ -30,7 +30,7 @@ import org.apache.thrift.protocol.TProto
 import org.apache.thrift.protocol.TProtocolException;
 import org.apache.thrift.protocol.TStruct;
 
-public abstract class TUnion<T extends TUnion, F extends TFieldIdEnum> 
implements TBase<T, F> {
+public abstract class TUnion<T extends TUnion<?,?>, F extends TFieldIdEnum> 
implements TBase<T, F> {
 
   protected Object value_;
   protected F setField_;


Reply via email to