如何覆盖inherit gwt模块的延迟绑定配置

如何覆盖inherit gwt模块的延迟绑定配置,gwt,inheritance,Gwt,Inheritance,是否可以覆盖继承模块的延迟绑定配置 以下是一个例子: 在我想使用的模块中,延迟绑定声明如下moduleA.gwt.xml: <replace-with class="A1Impl"> <when-type-is class="A"/> </replace-with> <replace-with class="A2Impl"> <when-type-is class="A"/> <when-property

是否可以覆盖继承模块的延迟绑定配置

以下是一个例子:

在我想使用的模块中,延迟绑定声明如下
moduleA.gwt.xml

<replace-with class="A1Impl">
    <when-type-is class="A"/>
</replace-with>

<replace-with class="A2Impl">
    <when-type-is class="A"/>
    <when-property-is name="p" value="1"/>
</replace-with>
<inherits name='moduleA'/>
<set-property name="p" value="1" />
但另外,我想覆盖inherit模块的延迟绑定配置,以使用我自己的
A
实现。我在模块中尝试了类似的方法,但没有成功:

<replace-with class="B1Impl">
    <when-type-is class="A"/>
    <when-property-is name="p" value="1"/>
</replace-with>

它应该这样说:如果属性
p
具有值
1
,则不要使用
A2Impl
(在继承模块中声明),而是使用我自己的实现
B1Impl

这可能吗


提前感谢您的帮助。

简而言之,是的,您可以重新定义任何已设置的重新绑定规则。只需继承您正在更改的模块,然后在重新绑定规则之后进行更改

<inherits name="package.to.ModuleA" />
<set-property name="p" value="1" />

对于上面的代码,p总是1,所以设置关于p的具体规则有点愚蠢。除非p可以不是1,否则当属性为规则时,实际上甚至不需要

只要在
继承
语句后列出
替换为
就看起来正确。出于这个原因,我总是鼓励开发人员首先列出所有
继承
规则,然后使用
替换任何
生成
设置属性
规则


要了解更多细节,您需要发布更具体的内容。

谢谢!这就是我所缺少的信息:“最后一个胜出!”同样的规则适用于
设置属性
设置配置属性
规则-以后的规则胜出,因此您可以始终覆盖已设置的设置一次。