I'm bringing this back up again because of a recent ping to an issue-tracker entry about "more interfaces".
I understand your pain, but these are issues with the Java language which we've discussed at length in the past, and to my knowledge reached no substantive conclusions other than: - A few more interfaces in very specific places (e.g., "InsertPanel") would be useful. - We can't run off and create custom interfaces for the cross-product of every characteristic interface and have every widget implement them. It turns into a permutation explosion of interfaces. If java had some kind of trait system or "implied interfaces" the story would be different, but alas, we're stuck with it the way it is for the foreseeable future. Making Widget an interface (IWidget?) sounds appealing in theory, for reasons you describe, but there are also very good reasons for leaving it as a concrete base class. This has come up often enough that I just created a wiki page explaining precisely why Widget is an abstract base class as opposed to an interface here: http://code.google.com/p/google-web-toolkit/wiki/WhyWidgetIsAClass On Fri, Apr 3, 2009 at 6:00 AM, Ed <[email protected]> wrote: > > Hellu, > > I would like to know whtat the current status is of "incoparating more > basis interface in GWT"? > > We talked about this a long time ago, but there more important issues > then: > > http://groups.google.com/group/Google-Web-Toolkit-Contributors/browse_thread/thread/2aad0c3459e2c7f/cd59f6b35714ed31?lnk=gst&q=more+interfaces > > I still keep on bouncing my head against these kind of interface > issues: > Below another example, which I hope would give some more priority to > the issue: > > I need a general TextWidget that "extends/implements" from Widget and > implements HasText, HasHtml. > > I thought I could easily solve this with Generics... Not.. really (see > below). > > I want to return a Widget as result of a method that creates a Widget > that implements HasHtml/HasText. > I tried something like this: > <W extends Widget & HasText & HasHTML> CmsFormatResultText<W> create > (String item); > > But calling this method isn't possible as the compiler complaints that > Widget isn't a valid substitute. > > Body example: > return new HTML("aaa"); > Which isn't correct as the compiler also complaints about not able to > convert HTML to W... > > To solve this, I think I need a basis Widget interface instead of a > Widget class. > > Please some feedback/advice on this. > > -- Ed > > > > --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~----------~----~----~----~------~----~------~--~---
