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();
   }