GWT PlaceHistoryGenerator忽略超类的接口

GWT PlaceHistoryGenerator忽略超类的接口,gwt,Gwt,我目前正在从事GWTs活动场所的实施工作。现在我发现PlaceHistoryGenerator有问题 我的Place类中有一个标记器。标记器基于超类。超类实现接口“PlaceTokenizer”。 到目前为止,一切都很好!但是GWT中的PlaceHistoryGenerator忽略了超类中声明的接口 我发现的唯一解决方案是在两个(超类和子类)中声明接口。这让我不太高兴 public abstract class BasePlaceTokenizer<P extends Place>

我目前正在从事GWTs活动场所的实施工作。现在我发现PlaceHistoryGenerator有问题

我的Place类中有一个标记器。标记器基于超类。超类实现接口“PlaceTokenizer”。 到目前为止,一切都很好!但是GWT中的PlaceHistoryGenerator忽略了超类中声明的接口

我发现的唯一解决方案是在两个(超类和子类)中声明接口。这让我不太高兴

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
中添加相应的
以覆盖默认方法。您好,托马斯!您的第二种方法已经是我最喜欢的选择……并且它的工作方式与预期的一样;-)