if (type->is_base_type() && ((t_base_type*)type)->is_binary()) {
indent(out) << "public byte[] get" << cap_name << "() {" << endl;
indent(out) << " set" << cap_name << "(TBaseHelper.rightSize(buffer" << get_cap_name("for") << cap_name << "()));" << endl;
- indent(out) << " return buffer" << get_cap_name("for") << cap_name << "().array();" << endl;
+ indent(out) << " ByteBuffer b = buffer" << get_cap_name("for") << cap_name << "();" << endl;
+ indent(out) << " return b == null ? null : b.array();" << endl;
indent(out) << "}" << endl;
out << endl;
if (type->is_base_type() && ((t_base_type*)type)->is_binary()) {
indent(out) << "public byte[] get" << cap_name << "() {" << endl;
indent(out) << " set" << cap_name << "(TBaseHelper.rightSize(" << field_name << "));" << endl;
- indent(out) << " return " << field_name << ".array();" << endl;
+ indent(out) << " return " << field_name << " == null ? null : " << field_name << ".array();" << endl;
indent(out) << "}" << endl << endl;
indent(out) << "public ByteBuffer buffer" << get_cap_name("for") << cap_name << "() {" << endl;
out << type_name(tstruct);
}
out << " set" << cap_name << "(byte[] " << field_name << ") {" << endl;
- indent(out) << " set" << cap_name << "(ByteBuffer.wrap(" << field_name << "));" << endl;
+ indent(out) << " set" << cap_name << "(" << field_name << " == null ? (ByteBuffer)null : ByteBuffer.wrap(" << field_name << "));" << endl;
if (!bean_style_) {
indent(out) << " return this;" << endl;
}
assertEquals("JavaTestHelper(req_int:0, req_obj:, req_bin:)",
object.toString());
}
+
+ public void testBytesBufferFeatures() throws Exception {
+ JavaTestHelper o = new JavaTestHelper();
+ o.setReq_bin((ByteBuffer)null);
+ assertNull(o.getReq_bin());
+ o.setReq_bin((byte[])null);
+ assertNull(o.getReq_bin());
+ }
}