|
Quick Lists
|
|
Bug ID:
|
6889858
|
|
Votes
|
0
|
|
Synopsis
|
Add nonNull methods to java.util.Objects
|
|
Category
|
java:classes_util
|
|
Reported Against
|
|
|
Release Fixed
|
7(b75)
|
|
State
|
10-Fix Delivered,
request for enhancement
|
|
Priority:
|
3-Medium
|
|
Related Bugs
|
6797535
,
6891113
,
6891420
|
|
Submit Date
|
08-OCT-2009
|
|
Description
|
(http://mail.openjdk.java.net/pipermail/core-libs-dev/2009-October/002891.html)
I strongly suggest that you do add these two methods:
/**
* Checks that the specified customer reference is not {@code null}. This
* method is designed primarily for doing parameter validation in methods
* and constructors, as demonstrated below:
* <pre>
* public Foo(Bar bar) {
* this.bar = Objects.nonNull(bar);
* }
* </pre>
*
* @param obj the customer reference to check for nullity
* @return {@code obj} if not {@code null}
* @throws NullPointerException if {@code obj} is {@code null}
*/
public static <T> T nonNull(T obj) {
if (obj == null)
throw new NullPointerException();
return obj;
}
/**
* Checks that the specified customer reference is not {@code null} and
* throws a customized {@Link NullPointerException} if it is. This method
* is designed primarily for doing parameter validation in methods and
* constructors with multiple parameters, as demonstrated below:
* <pre>
* public Foo(Bar bar, Baz baz) {
* this.bar = Objects.nonNull(bar, "bar must not be null");
* this.baz = Objects.nonNull(baz, "baz must not be null");
* }
* </pre>
*
* @param obj the customer reference to check for nullity
* @param message detail message to be used in the event that a {@code
* NullPointerException} is thrown
* @return {@code obj} if not {@code null}
* @throws NullPointerException if {@code obj} is {@code null}
*/
public static <T> T nonNull(T obj, String message) {
if (obj == null)
throw new NullPointerException(message);
return obj;
}
They do a great job reducing the verbiage in validity-checking of arguments that must not be null.
Posted Date : 2009-10-08 23:06:09.0
|
|
Work Around
|
N/A
|
|
Evaluation
|
A fine idea to consider.
Posted Date : 2009-10-08 23:06:43.0
|
|
Comments
|
PLEASE NOTE: JDK6 is formerly known as Project Mustang
|
|
|
 |