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 <joe.da...@sun.com> 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.
>
>

Attachment: NonNull.java
Description: Binary data

Reply via email to