Joe, Hi. I've attached a file containing the methods and a JTReg "basic test" for inclusion in your BasicObjectTests. I adhered to your style, for easy integration. If you could take it from here, I'd be ever so grateful.
Thanks,
Josh
On Thu, Oct 8, 2009 at 6:21 PM, Joe Darcy <[email protected]> wrote:
>
>> I strongly suggest that you do add these two methods:
>>
>> /**
>> * Checks that the specified object 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 object 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 object 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 object 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.
>>
>
> I've filed bug 6889858 "Add nonNull methods to java.util.Objects" for
> these last two methods. If you want to finish off the engineering need for
> a changeset, some light tests, etc., I'll file the Sun-internal paperwork
> for these.
>
>
NonNull.java
Description: Binary data
