We experimented with lambda based IModels when Java 8 was released. Bottom line was that serializable Lambdas are quite a problem. Both javac and ecj had (and probably still have) lots of bugs related to serializable lambdas. Another problematic area was obfuscation. There wasn't any easy way to let proguard handle lambda based IModels without actually excluding all those classes from obfuscation. This was what made us finally abandon the idea of lambda based IModels, at least for now.
cheers, Jonas On Tue, Oct 6, 2015 at 11:55 PM, Michael Mosmann <mich...@mosmann.de> wrote: > Maybe this is useful: > https://github.com/flapdoodle-oss/de.flapdoodle.wicket/blob/master/models/src/test/java/de/flapdoodle/wicket/model/TestModelTransformations.java > .. The model code should work with java8 and lambdas... > > Mm:) > > Am 6. Oktober 2015 23:37:34 MESZ, schrieb Michael Mosmann < > mich...@mosmann.de>: > >I am not sure about the generic stuff... If you write only lamdas there > >will be no issue..but if you reuse some code, there could be some need > >of 'super' in it.. > > > >But that's nothing i can build in my mind.. I need something like > >eclipse to make it right. So maybe next week.. :) > > > >Mm:) > > > > > >Am 6. Oktober 2015 22:48:32 MESZ, schrieb Martin Grigorov > ><mgrigo...@apache.org>: > >>/me likes !!! > >> > >>Once it is buildable with javac: > >> > >>*) Since it doesn't need changes in any of the current Wicket classes > >I > >>think it could be added to WicketStuff 7.x and battle tested until > >>Wicket > >>8.0.0 is out. > >> > >>*) What is the purpose of WriteOnlyModel? > >>My concern is that Wicket will fail every time such model is used in a > >>component when this component is being rendered. > >> > >>*) I think you have to name some of the methods #map and #flatMap, and > >>add > >>"Monad" somewhere in the javadoc. Just to make it more fancy :-) > >> > >>Martin Grigorov > >>Wicket Training and Consulting > >>https://twitter.com/mtgrigorov > >> > >>On Tue, Oct 6, 2015 at 11:15 AM, Martijn Dashorst < > >>martijn.dasho...@gmail.com> wrote: > >> > >>> I've created a Lambdas class that compiles just fine in ECJ but > >fails > >>> using javac. > >>> > >>> https://gist.github.com/dashorst/da876be2f01770e862a5 > >>> > >>> The benefit of this way is that we don't perpetuate SerializableFoo > >>> (Foo==[Function, Consumer, Predicate, Supplier, ...]) but instead > >>> require that the passed in stuff is in fact serializable. > >>> > >>> This way companies that have their own SerializableFunction et al, > >>kan > >>> pass those references into our Lambda models. > >>> > >>> Unfortunately this is currently way beyond the capabilities of > >javac. > >>> > >>> Check out the code above (the signature is quite hard to read, but > >in > >>> use it is awesome, just use Eclipse 4.5.1) > >>> > >>> Martijn > >>> > >>> -- > >>> Become a Wicket expert, learn from the best: > >>http://wicketinaction.com > >>> > > > >-- > >Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail > >gesendet. > > -- > Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail > gesendet. >