You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@thrift.apache.org by br...@apache.org on 2009/02/03 01:49:26 UTC

svn commit: r740169 - in /incubator/thrift/trunk: compiler/cpp/src/generate/t_java_generator.cc lib/java/src/org/apache/thrift/TBase.java

Author: bryanduxbury
Date: Tue Feb  3 00:49:25 2009
New Revision: 740169

URL: http://svn.apache.org/viewvc?rev=740169&view=rev
Log:
THRIFT-297. java: getFieldValue and setFieldValue should be abstract TBase methods

This patch makes getFieldValue, setFieldValue, and isSet TBase interface methods, and adds all the previously beans-only getters and setters to all Java generated classes. 

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

Modified: incubator/thrift/trunk/compiler/cpp/src/generate/t_java_generator.cc
URL: http://svn.apache.org/viewvc/incubator/thrift/trunk/compiler/cpp/src/generate/t_java_generator.cc?rev=740169&r1=740168&r2=740169&view=diff
==============================================================================
--- incubator/thrift/trunk/compiler/cpp/src/generate/t_java_generator.cc (original)
+++ incubator/thrift/trunk/compiler/cpp/src/generate/t_java_generator.cc Tue Feb  3 00:49:25 2009
@@ -740,12 +740,9 @@
   indent(out) << "  return new " << tstruct->get_name() << "(this);" << endl;
   indent(out) << "}" << endl << endl;
 
-
-  if (bean_style_) {
-    generate_java_bean_boilerplate(out, tstruct);
-    generate_generic_field_getters_setters(out, tstruct);
-    generate_generic_isset_method(out, tstruct);
-  }
+  generate_java_bean_boilerplate(out, tstruct);
+  generate_generic_field_getters_setters(out, tstruct);
+  generate_generic_isset_method(out, tstruct);
 
   generate_java_struct_equality(out, tstruct);
 

Modified: incubator/thrift/trunk/lib/java/src/org/apache/thrift/TBase.java
URL: http://svn.apache.org/viewvc/incubator/thrift/trunk/lib/java/src/org/apache/thrift/TBase.java?rev=740169&r1=740168&r2=740169&view=diff
==============================================================================
--- incubator/thrift/trunk/lib/java/src/org/apache/thrift/TBase.java (original)
+++ incubator/thrift/trunk/lib/java/src/org/apache/thrift/TBase.java Tue Feb  3 00:49:25 2009
@@ -28,4 +28,27 @@
    * @param oprot Output protocol
    */
   public void write(TProtocol oprot) throws TException;
+  
+  /**
+   * Check if a field is currently set or unset.
+   *
+   * @param fieldId The field's id tag as found in the IDL.
+   */
+  public boolean isSet(int fieldId);
+  
+  /**
+   * Get a field's value by id. Primitive types will be wrapped in the 
+   * appropriate "boxed" types.
+   *
+   * @param fieldId The field's id tag as found in the IDL.
+   */
+  public Object getFieldValue(int fieldId);
+  
+  /**
+   * Set a field's value by id. Primitive types must be "boxed" in the 
+   * appropriate object wrapper type.
+   *
+   * @param fieldId The field's id tag as found in the IDL.
+   */
+  public void setFieldValue(int fieldId, Object value);
 }