Thanks +Goktug Gokdogan for response.

APT is very good option and java 8 support for GWT 3.0 would be a amazing 
thing.
You have a planning for Elemental 2.0 or initial documentation to share, to 
how you plan address the desing?

El miércoles, 20 de agosto de 2014 16:38:31 UTC-3, Goktug Gokdogan escribió:
>
>
>
>
> On Wed, Aug 20, 2014 at 6:17 AM, Cristian Rinaldi <[email protected] 
> <javascript:>> wrote:
>
>> Community: 
>>      I'm playing with JsInterop , and I have two questions: 
>>
>>      1) Are you planning to try the static methods of JS objects, such as 
>> Object, Promise, etc.? 
>>
>
>
> There will be some static helpers provided from the SDK. I originally 
> started the JSNI 2.0 document but it is basically waiting for me to start 
> on Elemental 2.0 and accumulate more experience to turn it into something 
> more concrete.
>
>  
>
>>      2) How do when an instance is mapped to an existing Object, eg 
>> Promise, has a constructor with parameters? 
>>   
>>
>
> Actually I have new ideas on this derived from how some other APTs work.
>
> I need to update the JsInterop doc but these are the options that I'm 
> thinking right now:
>
> *Option 1 (works better for extending):*
>
> @JsType(prototype = "Promise")public interface Promise {
>   /* Protoype_Promise is an autogenerated package visible class */
>   public static class Prototype extends Protoype_Promise {
>     public Prototype(Function... functions) {
>        super(functions);
>     }
>   }
>
>   void then(Function f);
>
>   void cath(Function f);
> }
>
> ​
>
> *Option 2 (works better for general use):*
>
> @JsType(prototype = "Promise")public interface Promise {
>   /* Protoype_Promise is an autogenerated package visible class */
>   public static Promise create(Function... functions) {
>      return new Protoype_Promise(functions);
>   }
>
>   void then(Function f);
>
>   void cath(Function f);
> }
>
> ​
>
> *Of course one can do both:*
>
> @JsType(prototype = "Promise")public interface Promise {
>
>   public static class Prototype extends Protoype_Promise {
>     public Prototype(Function... functions) {
>        super(functions);
>     }
>   }
>
>   public static Promise create(Function... functions) {
>      return new Prototype(functions);
>   }
>
>   void then(Function f);
>
>   void cath(Function f);
> }
>
> ​
>  
>
>>     Currently to resolve this 1) I created the following class Factory: 
>> JS 
>> <https://github.com/workingflows/gwt-jscore/blob/master/src/main/java/com/workingflows/js/jscore/client/factory/JS.java>
>>
>>     But the interfaces define a contract at the level instance of a class 
>> or object, this way of doing things, I do not know if it is semantically 
>> correct. 
>>
>>    To solve 2) there are not many options: 
>>
>>      Create a Factory that returns an instance of the object, because it 
>> has no meaning, only to make the new, implement the interface, because the 
>> compiler already does. 
>>      There is some progress in this? 
>>
>>      I saw in one of the post a proposal to do something like this: 
>>  
>>      Promise Promise.Prototype p = new (new Function ....., new Function 
>> ....);
>>
>>     Where Promise, is the interface defined with prototype = "Promise". 
>>
>>     @JsType(isNative = true, prototype = "Promise")
>>     public interface Promise {
>>    
>>       void then(Function f);
>>     
>>       void cath(Function f);
>>   }
>>
>>     Here 'access to jsCore project: 
>>   
>>     https://github.com/workingflows/gwt-jscore/ 
>> <https://github.com/workingflows/gwt-jscore/>
>>
>>
> Great work. This kind of stuff is also very valuable as a feedback.
>  
>
>> I hope the answers ... 
>>
>> greetings
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "GWT Contributors" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] 
>> <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/google-web-toolkit-contributors/3268ccc7-9953-49c9-9079-574096f0d5d3%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/google-web-toolkit-contributors/3268ccc7-9953-49c9-9079-574096f0d5d3%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Contributors" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit-contributors/44fbf2d1-d791-4e7b-8078-5e804c3da99e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to