Wow, I'm embarrassed to say that I have always assumed that an interface can only extend a single interface, because that's the way that it works for classes. There's no reason it should be that way, though, and it makes life a lot easier to know that it's possible. I would have done it this way originally over a year ago had I known this! Thanks, Ryan
On Tuesday, June 12, 2012 2:53:55 AM UTC-4, Thomas Broyer wrote: > I can't see any reason it wouldn't work, but I think you'd rather extract > an interface, implemented by your domain object, and extended by your proxy > (in addition to EntityProxy). > > interface Domain { /* getters and setters */ } > > class DomainImpl implements Domain { … } > > interface DomainProxy extends Domain, EntityProxy { … } > > In case you were wondering, this approach has been proven to work. > One exception is currently if your Domain interface references another > interface (as opposed to "simple value types"), where you'd face > http://code.google.com/p/google-web-toolkit/issues/detail?id=5926 > This issue will be fixed in GWT 2.5.1, which we expect to release by the > end of the summer. > > On Monday, June 11, 2012 9:35:02 PM UTC+2, Ryan McFall wrote: >> >> One of the things I don't like about the design of the RequestFactory >> is the fact that client-side proxies need to extend EntityProxy; I >> think I understand why this is needed, but it makes it more difficult >> to write code that can operate on both proxies and actual domain >> objects. >> >> One way of getting around this is to have the domain objects implement >> the proxy interface. This means that the domain objects must >> implement EntityProxy, giving a stableId method that shouldn't >> actually be called, but allows utility code to treat proxies and >> domain objects in the same way. >> >> Before going down this route, I'm wondering if there are reasons it >> won't work that I haven't thought about. >> >> Thanks! >> Ryan > > > On Monday, June 11, 2012 9:35:02 PM UTC+2, Ryan McFall wrote: >> >> One of the things I don't like about the design of the RequestFactory >> is the fact that client-side proxies need to extend EntityProxy; I >> think I understand why this is needed, but it makes it more difficult >> to write code that can operate on both proxies and actual domain >> objects. >> >> One way of getting around this is to have the domain objects implement >> the proxy interface. This means that the domain objects must >> implement EntityProxy, giving a stableId method that shouldn't >> actually be called, but allows utility code to treat proxies and >> domain objects in the same way. >> >> Before going down this route, I'm wondering if there are reasons it >> won't work that I haven't thought about. >> >> Thanks! >> Ryan > > -- 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/-/f8stn8zYlUMJ. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.