GWT PlaceHistoryGenerator忽略超类的接口
我目前正在从事GWTs活动场所的实施工作。现在我发现PlaceHistoryGenerator有问题 我的Place类中有一个标记器。标记器基于超类。超类实现接口“PlaceTokenizer”。 到目前为止,一切都很好!但是GWT中的PlaceHistoryGenerator忽略了超类中声明的接口 我发现的唯一解决方案是在两个(超类和子类)中声明接口。这让我不太高兴GWT PlaceHistoryGenerator忽略超类的接口,gwt,Gwt,我目前正在从事GWTs活动场所的实施工作。现在我发现PlaceHistoryGenerator有问题 我的Place类中有一个标记器。标记器基于超类。超类实现接口“PlaceTokenizer”。 到目前为止,一切都很好!但是GWT中的PlaceHistoryGenerator忽略了超类中声明的接口 我发现的唯一解决方案是在两个(超类和子类)中声明接口。这让我不太高兴 public abstract class BasePlaceTokenizer<P extends Place>
public abstract class BasePlaceTokenizer<P extends Place> implements PlaceTokenizer<P> {
@Override
public P getPlace(final String token) {
...
return place;
}
@Override
public String getToken(final P place) {
...
return "anything...";
}
}
public class HelloPlace {
public static class Tokenizer extends BasePlaceTokenizer<HelloPlace> {
// implements PlaceTokenizer<HelloPlace> {
@Override
public HelloPlace getPlace(final String token) {
...
return place;
}
}
}
公共抽象类BasePlaceTokenizer实现PlaceTokenizer
{
@凌驾
公共P getPlace(最终字符串标记){
...
返回地点;
}
@凌驾
公共字符串getToken(最后一个P位){
...
返回“任何…”;
}
}
公共类HelloPlace{
公共静态类标记器扩展了BasePlaceTokenizer{
//实现PlaceTokenizer{
@凌驾
公共HelloPlace getPlace(最终字符串标记){
...
返回地点;
}
}
}
这是一个已知的问题:
编辑:自GWT 2.5.0起已修复这是一个已知问题:
编辑:自GWT 2.5.0起已修复你好,Thomas,问题是:补丁是唯一的解决方案吗?感谢您链接到goolge问题列表!我在那里发表了评论…否:您可以如您所说,在子类上显式地重新声明
PlaceTokenizer
。或者您可以复制/粘贴(fork)使用PlaceHistoryMapperGenerator
并在gwt.xml
中添加相应的
以覆盖默认方法。你好,托马斯!你的第二种方法已经是我最喜欢的选择……而且它的工作方式与预期的一样;-)你好,托马斯,问题是:修补程序是唯一的解决方案吗?谢谢你链接到goolge issue list!我在那里做了一个评论……否:正如您所说,您可以在子类上显式地重新声明PlaceTokenizer
。或者您可以复制/粘贴(fork)使用PlaceHistoryMapperGenerator
并在gwt.xml
中添加相应的
以覆盖默认方法。您好,托马斯!您的第二种方法已经是我最喜欢的选择……并且它的工作方式与预期的一样;-)