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_;