I don't know exactly why this thread is getting split, but I think several of us are taking the implicit position that we shouldn't necessarily include a separate utility method for things that can be accomplished with existing utility methods. It's arguably best that these (and any?) classes be kept as lean as possible. The comparison to StringUtils methods is a little inept IMO; you are dealing with multiple object references, and attempting to present them with a varargs API. The implication, then, is that arrays, rather than objects, are the relevant concept. That puts us into the realm of the ArrayUtils class. From a semantic standpoint, I would be concerned by a method e.g. ArrayUtils#isNotNull(Object... array). "is" is a singular verb and my inclination would be to think of the array itself as the object of that verb. Is the array not null? That check is of course more easily and efficiently accomplished with `array != null`. You could then opt to name the method something like ArrayUtils#containsNoNullElements(Object... array) but then, again, you can just as clearly, and in fewer characters, use `!ArrayUtils.contains(array, null)`. Does that make sense?
Matt On Mon, Jul 8, 2013 at 12:01 PM, Rafael Santini <raf...@santini.eti.br>wrote: > Hi, > > The proposed method is related to objects. As we have > StringUtils.isBlank(), isNotBlank(), isEmpty() etc., the > ObjectUtils.isNotNull(Object..**. objs) is intended to check if all > objects are not null. So, instead of > > > if (obj1 != null && obj2 != null && obj3 != null && obj4 != null) { > // Do something... > } > > we have > > if (isNotNull(obj1, obj2, obj3, obj4) { > // Do something... > } > > The StringUtils.firstNonNull() returns the first object that is not null > (equivalent to something that returns true if there is at least one object > that is not null). The isNotNull() returns true if all objects are not null. > > Rafael Santini > > -----Mensagem Original----- From: Matt Benson > Sent: Monday, July 08, 2013 1:20 PM > > To: Commons Developers List > Subject: Re: Lang: ObjectUtils > > WRT #firstNonNull, I don't know why I couldn't find it before. I do now, > and I agree it would seem to fit better in ArrayUtils. > > Matt > > > On Mon, Jul 8, 2013 at 10:04 AM, Jörg Schaible > <joerg.schai...@scalaris.com>**wrote: > > Hi Matt, >> >> Matt Benson wrote: >> >> > On Mon, Jul 8, 2013 at 8:22 AM, Jörg Schaible >> > <joerg.schai...@scalaris.com>**wrote: >> > >> >> Hi Hen, >> >> >> >> Henri Yandell wrote: >> >> >> >> > I don't see any value having the first two methods - replacing the >> '==' >> >> > sign is a bit too far in the 'provide simple methods' direction I >> think >> >> :) >> >> > >> >> > I think the third method is already in Lang as: >> >> > >> >> > ArrayUtils.contains(array, null); >> >> >> >> >> >> Well, no, this is not, what the method does! >> > >> > >> > Correct, but to be fair, it's simple enough to use this method to >> > implement >> > the desired check. Negate the result. >> > >> > >> >> With Lang we could use now: >> >> >> >> ObjectUtils.firstNotNull(**array) != null >> >> >> > >> > I don't see such a method as this. >> >> >> http://commons.apache.org/**proper/commons-lang/javadocs/** >> api-release/org/apache/**commons/lang3/ObjectUtils.**html#firstNonNull(T<http://commons.apache.org/proper/commons-lang/javadocs/api-release/org/apache/commons/lang3/ObjectUtils.html#firstNonNull(T> >> .. >> .) >> >> > If it did exist, it still wouldn't >> > implement the feature requested (check that no element of the array is >> > null). I'm pretty sure !ArrayUtils.contains(array, null) is fine. >> >> I've re-read the original code and you're right. >> >> - Jörg >> >> >> ------------------------------**------------------------------**--------- >> To unsubscribe, e-mail: >> dev-unsubscribe@commons.**apache.org<dev-unsubscr...@commons.apache.org> >> >> For additional commands, e-mail: dev-h...@commons.apache.org >> >> >> > > ------------------------------**------------------------------**--------- > To unsubscribe, e-mail: > dev-unsubscribe@commons.**apache.org<dev-unsubscr...@commons.apache.org> > > For additional commands, e-mail: dev-h...@commons.apache.org > >