Agree with Benedikt here, if it's only the .toString() that is important,
then "string" should appear in the method name; otherwise we need to do
Commons Collections style handling of anything that can be empty or not.

To support null (which isn't really "empty" but missing), perhaps just have
the inverse method

hasNonEmptyString() ?

Then it would be false both for null and "", true for anything else.

On 28 Jan 2017 9:13 am, "Benedikt Ritter" <brit...@apache.org> wrote:

>
> > Am 28.01.2017 um 02:53 schrieb Gary Gregory <garydgreg...@gmail.com>:
> >
> > The simplest examples I have on hand are instances of Path and URI which
> > can be built with an empty string. I want to know if these are "empty".
> For
> > the app I am now on for example, a Path or null and "" should be treated
> > the same. Same for a URI.
>
> I don’t think it is a good idea to define emptiness based on the return
> value of Object.toString(). Consider the following:
>
> isEmpty(null) -> true
> isEmpty(„“) -> true
> isEmpty(new URI(„“)) -> true
>
> But:
>
> isEmpty(Collections.emptyList()) -> false
> isEmpty(new int[0]) -> false
>
> This is because toString() has nothing to do with emptiness. For this
> reason I think it would be better to have explicitly typed method overloads
> for the use cases you’re thinking about:
>
> boolean isEmpty(Path)
> boolean isEmpty(URI)
>
> I’m not sure whether this belong to [lang]. The first looks like it
> belongs to [io] while the second would better fit into [net]…
>
> Benedikt
>
> >
> > Gary
> >
> > On Fri, Jan 27, 2017 at 5:37 PM, Matt Sicker <boa...@gmail.com> wrote:
> >
> >> That's an interesting use case, though I've never come across a
> toString()
> >> implementation that would be affected. Can you go into more detail?
> >>
> >> On 27 January 2017 at 16:04, Gary Gregory <garydgreg...@gmail.com>
> wrote:
> >>
> >>> _Like_ that except that our Log4j version does not do the case I want:
> >>> object.toString().
> >>>
> >>> Gary
> >>>
> >>> On Fri, Jan 27, 2017 at 1:58 PM, Matt Sicker <boa...@gmail.com> wrote:
> >>>
> >>>> Something like this?
> >>>>
> >>>> https://github.com/apache/logging-log4j2/blob/master/
> >>>> log4j-core/src/main/java/org/apache/logging/log4j/core/
> >>>> util/Assert.java#L43
> >>>>
> >>>> On 27 January 2017 at 15:54, Gary Gregory <garydgreg...@gmail.com>
> >>> wrote:
> >>>>
> >>>>> Hi All,
> >>>>>
> >>>>> There are certain kinds of objects, _descriptor_ kind of objects that
> >>>> would
> >>>>> benefit from isEmpty semantics. These kind of objects can describe
> >>>> complex
> >>>>> command line arguments and other kind of configuration objects.
> >>>>>
> >>>>> I'd like to add with this pseudo code:
> >>>>>
> >>>>> boolean isEmpty(Object) {
> >>>>>  return object == null ? true : isEmpty(object.toString());
> >>>>> }
> >>>>>
> >>>>> Thoughts?
> >>>>>
> >>>>> Same idea of isBlank(), isNotEmpty() and so on.
> >>>>>
> >>>>> Gary
> >>>>>
> >>>>> --
> >>>>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
> >>>>> Java Persistence with Hibernate, Second Edition
> >>>>> <https://www.amazon.com/gp/product/1617290459/ref=as_li_
> >>>>> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&
> >>>>> linkCode=as2&tag=garygregory-20&linkId=
> >> cadb800f39946ec62ea2b1af9fe6a2
> >>> b8>
> >>>>>
> >>>>> <http:////ir-na.amazon-adsystem.com/e/ir?t=
> >> garygregory-20&l=am2&o=1&a=
> >>>>> 1617290459>
> >>>>> JUnit in Action, Second Edition
> >>>>> <https://www.amazon.com/gp/product/1935182021/ref=as_li_
> >>>>> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&
> >>>>> linkCode=as2&tag=garygregory-20&linkId=
> >> 31ecd1f6b6d1eaf8886ac902a24de4
> >>>> 18%22
> >>>>>>
> >>>>>
> >>>>> <http:////ir-na.amazon-adsystem.com/e/ir?t=
> >> garygregory-20&l=am2&o=1&a=
> >>>>> 1935182021>
> >>>>> Spring Batch in Action
> >>>>> <https://www.amazon.com/gp/product/1935182951/ref=as_li_
> >>>>> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&
> >>>>> linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%
> >>>>> 7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
> >>>>> <http:////ir-na.amazon-adsystem.com/e/ir?t=
> >> garygregory-20&l=am2&o=1&a=
> >>>>> 1935182951>
> >>>>> Blog: http://garygregory.wordpress.com
> >>>>> Home: http://garygregory.com/
> >>>>> Tweet! http://twitter.com/GaryGregory
> >>>>>
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>> Matt Sicker <boa...@gmail.com>
> >>>>
> >>>
> >>>
> >>>
> >>> --
> >>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
> >>> Java Persistence with Hibernate, Second Edition
> >>> <https://www.amazon.com/gp/product/1617290459/ref=as_li_
> >>> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&
> >>> linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2
> b8>
> >>>
> >>> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> >>> 1617290459>
> >>> JUnit in Action, Second Edition
> >>> <https://www.amazon.com/gp/product/1935182021/ref=as_li_
> >>> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&
> >>> linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de4
> >> 18%22
> >>>>
> >>>
> >>> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> >>> 1935182021>
> >>> Spring Batch in Action
> >>> <https://www.amazon.com/gp/product/1935182951/ref=as_li_
> >>> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&
> >>> linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%
> >>> 7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
> >>> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> >>> 1935182951>
> >>> Blog: http://garygregory.wordpress.com
> >>> Home: http://garygregory.com/
> >>> Tweet! http://twitter.com/GaryGregory
> >>>
> >>
> >>
> >>
> >> --
> >> Matt Sicker <boa...@gmail.com>
> >>
> >
> >
> >
> > --
> > E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
> > Java Persistence with Hibernate, Second Edition
> > <https://www.amazon.com/gp/product/1617290459/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&
> linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>
> >
> > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> 1617290459>
> > JUnit in Action, Second Edition
> > <https://www.amazon.com/gp/product/1935182021/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&
> linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22
> >
> >
> > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> 1935182021>
> > Spring Batch in Action
> > <https://www.amazon.com/gp/product/1935182951/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&
> linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%
> 7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
> > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> 1935182951>
> > Blog: http://garygregory.wordpress.com
> > Home: http://garygregory.com/
> > Tweet! http://twitter.com/GaryGregory
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
>
>

Reply via email to