THRIFT-5013: Replace NullPointerException with RequireNonNull
Co-Authored-By: Christopher Tubbs <ctubbsii@apache.org>
Client: java
This closes #1934.
diff --git a/compiler/cpp/src/thrift/generate/t_java_generator.cc b/compiler/cpp/src/thrift/generate/t_java_generator.cc
index 7254e12..581e1cf 100644
--- a/compiler/cpp/src/thrift/generate/t_java_generator.cc
+++ b/compiler/cpp/src/thrift/generate/t_java_generator.cc
@@ -1060,11 +1060,15 @@
}
indent(out) << "public void set" << get_cap_name(field->get_name()) << "("
<< type_name(field->get_type()) << " value) {" << endl;
- if (type_can_be_null(field->get_type())) {
- indent(out) << " if (value == null) throw new java.lang.NullPointerException();" << endl;
- }
+
indent(out) << " setField_ = _Fields." << constant_name(field->get_name()) << ";" << endl;
- indent(out) << " value_ = value;" << endl;
+
+ if (type_can_be_null(field->get_type())) {
+ indent(out) << " value_ = java.util.Objects.requireNonNull(value,\"" << "_Fields." << constant_name(field->get_name()) << "\");" << endl;
+ } else {
+ indent(out) << " value_ = value;" << endl;
+ }
+
indent(out) << "}" << endl;
}
}