Add -javabean option to Thrift
Summary: In case you want getters and setters and iterators and magic. Submitted by Dave Engberg
Reviewed By: dreiss
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665239 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/compiler/cpp/src/main.cc b/compiler/cpp/src/main.cc
index b070b3b..e46fcea 100644
--- a/compiler/cpp/src/main.cc
+++ b/compiler/cpp/src/main.cc
@@ -131,6 +131,7 @@
*/
bool gen_cpp = false;
bool gen_java = false;
+bool gen_javabean = false;
bool gen_rb = false;
bool gen_py = false;
bool gen_xsd = false;
@@ -542,6 +543,7 @@
fprintf(stderr, "Options:\n");
fprintf(stderr, " -cpp Generate C++ output files\n");
fprintf(stderr, " -java Generate Java output files\n");
+ fprintf(stderr, " -javabean Generate Java bean-style output files\n");
fprintf(stderr, " -php Generate PHP output files\n");
fprintf(stderr, " -phpi Generate PHP inlined files\n");
fprintf(stderr, " -py Generate Python output files\n");
@@ -773,7 +775,14 @@
if (gen_java) {
pverbose("Generating Java\n");
- t_java_generator* java = new t_java_generator(program);
+ t_java_generator* java = new t_java_generator(program, false);
+ java->generate_program();
+ delete java;
+ }
+
+ if (gen_javabean) {
+ pverbose("Generating Java Beans\n");
+ t_java_generator* java = new t_java_generator(program, true);
java->generate_program();
delete java;
}
@@ -891,6 +900,8 @@
gen_recurse = true;
} else if (strcmp(arg, "-cpp") == 0) {
gen_cpp = true;
+ } else if (strcmp(arg, "-javabean") == 0) {
+ gen_javabean = true;
} else if (strcmp(arg, "-java") == 0) {
gen_java = true;
} else if (strcmp(arg, "-php") == 0) {
@@ -933,7 +944,7 @@
}
// You gotta generate something!
- if (!gen_cpp && !gen_java && !gen_php && !gen_phpi && !gen_py && !gen_rb && !gen_xsd && !gen_perl && !gen_ocaml && !gen_erl && !gen_hs) {
+ if (!gen_cpp && !gen_java && !gen_javabean && !gen_php && !gen_phpi && !gen_py && !gen_rb && !gen_xsd && !gen_perl && !gen_ocaml && !gen_erl && !gen_hs) {
fprintf(stderr, "!!! No output language(s) specified\n\n");
usage();
}