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. > >
NonNull.java
Description: Binary data