根据模块属性使用不同的UiBinder @UiTemplate文件

时间:2012-04-24 02:25:14

标签: gwt uibinder

我可以使用<replace-with>标签来替换类的不同实现,具体取决于我的GWT模块文件中设置的属性。那很好 - 我喜欢它。

但是:我在formfactor="mobile"formfactor="desktop"之间的观点的不同之处在于我使用的ui.xml文件 - 即使java文件是相同的。因此,类交换是不够的 - 我不想复制Java文件以获得不同的类。

如何使用属性来影响将ui.xml文件作为UiBinder模板加载?

注意:我目前正在使用一种解决方法来计算应该在Java中的模块属性,并在switch语句中使用该属性来加载相应的ui .xml文件。这是不可取的,因为:

  • 代码重复 - 我必须在模块文件和java代码中计算属性
  • 每个排列必须编译每个ui.xml文件,以便在运行时选择正确的文件。我更喜欢编译时解决方案。

1 个答案:

答案 0 :(得分:0)

我认为,您必须编写自己的generator,它将提供不同的ui活页夹模板。可能你可以重载方法deduceTemplateFile() in UiBinderGenerator