【发布时间】:2015-07-25 00:00:46
【问题描述】:
我今天遇到了一个奇怪的问题,我的 gwt.xml 文件中的 generate-with 和 replace-with 选项。我解释一下:
首先,我有两个类“A”和“B”以及一个名为“I”的接口,其中“B 扩展 A 实现 I”。我还有一个“IGenerator”生成器
在我的 gwt.xml 中,我有这样的东西:
<generate-with class = "IGenerator" >
<when-type-assignable class = "I" />
</generate-with>
<replace-with class = "B">
<when-type-is class = "A">
</replace-with>
问题是我的对象 A 应该是 B_Generated 对象。 不得不说,当B不扩展A时,它起作用了,当B不实现I时,它起作用……但在这种情况下,它不起作用。
希望你能帮我解决这些问题...
谢谢大家。
-- 更多信息--
在我的项目中:
A : PlaceManager B : Project1_PlaceManager C : Project2_PlaceManager I : AnnotatedClass -- 表示该类包含一些注解,必须用代码sn-ps替换 --
我的 PlaceManager 负责管理地点、活动和类似的东西。 B 和 C PlaceManager 有自己的 Places,它们由如下注释声明:
@Place
MyPlaceA placeA; // this part is replaced by a creation snippet
@Place
MyPlaceB placeB; // this part is replaced by a creation snippet
所以问题是,运行一个或另一个项目,PlaceManager 必须替换为好的,并且必须生成新的类来替换我的 sn-ps。
注意:这个描述很简单,而项目要复杂得多......
【问题讨论】:
标签: gwt replacewith