2015-04-13 2:27 GMT+02:00 Matt Benson <gudnabr...@gmail.com>: > +1 to what Peter said: it's a functional interface so it is > lambda-compatible anyway. >
Well, yes it would be a functional interface, but it would lack all the default methods defined in java.util.function.Predicate if we don't extend it later. > > Matt > On Apr 12, 2015 6:49 PM, "Peter Ansell" <ansell.pe...@gmail.com> wrote: > > > On 12 April 2015 at 21:14, Benedikt Ritter <benerit...@gmail.com> wrote: > > > Hi, > > > > > > there is currently a discussion on github about the addition of a low > > level utility class which helps to retrieve Threads [1]. The latest > > proposal is to implement a predicate based approach for filtering threads > > [2]. My opinion is, that we should not add such an API at all, because we > > would have to revert it anyway, when we upgrade [lang] to Java 8. Further > > more I don't think it is a good idea to add a generic Pedicate interface > to > > [lang]. This will only cause confusion for users already using Java 8. So > > if we really want to add predicate based API in ThreadUtils, it should > IMHO > > Look like this: > > > > > > Collection<Thread> ThreadUtils.findThreads(ThreadPredicate filter) > > > > > > public interface ThreadPredicate { > > > boolean test(Thread); > > > } > > > > In my Java-8-only code, the above is what I already do. The only > > addition once you get to Java-8 as a baseline would be to add > > @FunctionalInterface as a class annotation, to enable the compiler to > > verify that it stays as a functional interface. > > > > > Later we can change this to: > > > > > > Collection<Thread> > > ThreadUtils.findThreads(java.util.function.Predicate<Thread> filter) > > > > It is completely unnnecessary to make the change above, although with > > the change below it should not disturb any code that was already using > > it due to the way lambda matching works. > > > > > public interface ThreadPredicate extends > > java.util.function.Predicate<Thread> > > > > This change is useful once JDK-8 is the baseline, as it would only add > > features (all of the default methods) from Predicate, not remove any > > features or backwards compatibility. > > > > Cheers, > > > > Peter > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > > For additional commands, e-mail: dev-h...@commons.apache.org > > > > > -- http://people.apache.org/~britter/ http://www.systemoutprintln.de/ http://twitter.com/BenediktRitter http://github.com/britter