嗨,我是新来的
在我的项目中,我有一个java驱动类,它调用不同的acceleo模板。有些模板具有没有任何EObject类型的参数。我正在调用生成的java模块的initialize()和doGenerate()函数作为模板。目前所面临的问题是:
请建议我如何在我的情况下取得进展。
谢谢和问候
Dhanunjaya M.
发布于 2012-04-11 08:23:51
默认情况下,我们通过与“主”模板模块和Acceleo "facade“类一起生成的Java类公开的API总是假定要调用的模板的第一个参数是EObject。这样做是为了方便大多数用例的使用(我们预计这个用例占总用例的90% )。
对于其他用例,您必须使用这些外观后面的API。也就是说,您可以创建另一个“初始化”方法,在这些情况下,当您没有EObject时,它不接受一个参数。然后,您还需要重写"generate(Monitor)“方法,以便它不使用AcceleoService.doGenerate.或者AcceleoService的任何其他方法:这就是我所说的"facade“类。
您需要的是调用一个模拟AcceleoService.doGenerate所做工作的方法,而无需依赖EObject来查找需要调用的模板。如果您手头没有Acceleo或源代码,可以通过github:AcceleoService#doGenerate查看代码。
https://stackoverflow.com/questions/10069858
复制相似问题