Hi,

.. did some further testing .. and got this conclusion. AFAIK you can
not have something like

  <X extends Function<S,D> & Serializable,S,D> foo(X func)

and expect the compiler doing the magic on this code

  foo(x -> x+1)

.. you must use a cast, so you have to write

 foo((Function<Integer,Integer> & Serializable) x -> x+1)

which gives no benefit over using something like our own Interface
extending Function, Supplier etc.

maybe i am wrong...

michael:)

Am 10.10.2015 um 12:01 schrieb Michael Mosmann:
> Hi,
> 
> ... if we using SerializableFunction instead of Function & Serializable,
> it will work. Works well with Wicket 7.0.0 on java8 (tested).
> 
> Michael
> 
> Am 07.10.2015 um 10:26 schrieb Jonas:
>> 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.
>>>
>>
> 

Reply via email to