I understand the cautiousness regarding what is public, but I also
believe that protected methods already have the protection necessary,
assuming that developers who are extending a class usually knows what
they are doing, and the source code is available so developers can
check, and maintain compatibility.
Even methods that are strict for infrastructure could have a suffix
( or prefix ) that indicates developer to use it with caution, and
that this method is not guaranteed to exist in future releases:
E.g:

//The current implementation for the private setNewSelection() method,
could be as follows
public class SuggestBox ... {
     protected void setNewSelectionImpl(Suggestion curSuggestion) {
         //code
     }
}

This way gives developers a great flexibility to extend GWT classes,
and even introduce temporary bug fixes.

In a future release, GWt decides to expose this method as a concrete
implementation and could change to:

public class SuggestBox ... {
     protected void setNewSelection(Suggestion curSuggestion) {
         setNewSelectionImpl(curSuggestion); // this will maintain
compatibility, but is not required at all.
     }
}

However, the method setNewSelectionImpl can completely disappear as it
is an draft and not part of the final API, therefore developers will
be using it with caution.

Anyways, just bouncing ideas. I also understand that if the standard
is overused, and never brought back to the GWT team so it can make
part of the API, it could create chaos among GWT developers.

Cheers!

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to