Thursday, July 28, 2011

Re: Error Polymorphic RequestContext GWT 2.4 RC

You have to define sub-interfaces of BaseEntityRequest with the "T" type argument bound to a proxy, and then define as many factory methods in BaseEntityRF.
RequestFactory (just like every other GWT generator) works by looking at the code and generating things for types it sees. If you give it BaseEntityRF, it won't "see" in here your FooProxy or BarProxy. They have to be called out explicitly in your code (and by "code", I mean things reachable from BaseEntityRF, looking at the defined methods and their argument and return types, recursively).

The only exception to that rule is GWT-RPC, and this is one the things causing so much harm to developers and users: yes you can use class X as an argument or return type, but you'll pay the price for every single class extending it that is present in the classpath at the time you GWT-compile your code, and the compilation is likely to fail because of non-serializable such types. The same being of course true (and much worse) for interfaces: java.util.List anyone? (one example among the many reported issues: http://code.google.com/p/google-web-toolkit/issues/detail?id=4438 )

--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/Wt7IbSYYgRYJ.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to google-web-toolkit+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.

No comments:

Post a Comment