On Mon, Feb 15, 2016 at 9:17 AM, Gary Gregory <garydgreg...@gmail.com> wrote:
> On Mon, Feb 15, 2016 at 9:08 AM, Matt Sicker <boa...@gmail.com> wrote: > >> Sounds good. Remko was mentioning how they could be combined by checking >> if get() returns an instanceof Message, but using the wildcard bounds like >> you show sounds like a better way (where possible). >> > > Wasn't Remko talking about a different case? > > Right now we have: > > traceExit(MessageSupplier, R) > traceExit(Supplier<? extends Message>, R) > > Both "MessageSupplier.get()" and "Supplier<? extends Message>" *do* return > a Message so I think we can remove traceExit(Supplier<? extends Message>, > R) (which is not even used/tested ATM). > Ah, but we do not have a traceExit(Supplier<R>) I'll add that completeness, and also traceExit(EntryMessage). My use cases only call for traceExit(EntryMessage, R) and traceExit(EntryMessage). Gary > Gary > >> >> On 15 February 2016 at 11:06, Gary Gregory <garydgreg...@gmail.com> >> wrote: >> >>> Since 2.4 we have: >>> >>> public interface MessageSupplier { >>> >>> /** >>> * Gets a Message. >>> * >>> * @return a Message >>> */ >>> Message get(); >>> } >>> >>> and >>> >>> public interface Supplier<T> { >>> >>> /** >>> * Gets a value. >>> * >>> * @return a value >>> */ >>> T get(); >>> } >>> >>> Which smells fishy to me. Instead I propose: >>> >>> public interface MessageSupplier extends Supplier<Message> { >>> // empty >>> } >>> >>> Whether or not we do the above, we can replace: >>> >>> traceExit(R, Supplier<? extends Message>) >>> >>> with: >>> >>> traceExit(R, MessageSupplier) >>> >>> which we already have. >>> >>> A test search shows the above as the only instance of "Supplier<? >>> extends Message>" in our Java files. >>> >>> Thoughts? >>> >>> -- >>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org >>> Java Persistence with Hibernate, Second Edition >>> <http://www.manning.com/bauer3/> >>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> >>> Spring Batch in Action <http://www.manning.com/templier/> >>> 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 > <http://www.manning.com/bauer3/> > JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> > Spring Batch in Action <http://www.manning.com/templier/> > Blog: http://garygregory.wordpress.com > Home: http://garygregory.com/ > Tweet! http://twitter.com/GaryGregory > -- E-Mail: garydgreg...@gmail.com | ggreg...@apache.org Java Persistence with Hibernate, Second Edition <http://www.manning.com/bauer3/> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> Spring Batch in Action <http://www.manning.com/templier/> Blog: http://garygregory.wordpress.com Home: http://garygregory.com/ Tweet! http://twitter.com/GaryGregory