GMF代码生成:有没有办法自定义代码生成或重新使用已经定制的GMF代码与更新版本的eclipse / GMF?

时间:2015-03-30 05:41:01

标签: java eclipse emf eclipse-gmf

我正在使用我自己的xsd,GMF生成的 / diagram / edit / parts 包和其他包来生成GMF代码。现在我想对扩展 / diagram / edit / parts 包中存在的 ConnectionNodeEditPart 类的所有类进行常规自定义。 GMF在 ConnectionNodeEditPart 的子类中生成了一个方法,其签名是

protected void“addChildVisual(EditPart childEditPart,int index)” 和方法内容如下。

if (addFixedChild(childEditPart)) {
        return;
}
super.addChildVisual(childEditPart, index);

现在我想自定义所有addChildVisual方法,如下所示。

if (addFixedChild(childEditPart)) {
        return;
}
super.addChildVisual(childEditPart, -1);

这只是将索引更改/替换为 -1

这样有1000个类,每次从一个eclipse版本迁移到下一个eclipse版本时都需要修改。这是我正在讨论的样本/简单更改。还有其他一些变化,其中添加/更改了很少的方法内容,并且很少有新方法被添加到GMF生成的代码中。

当我们从一个eclipse版本迁移到下一个版本时,这个繁琐的代码定制部分令人不安。

有没有办法使用更新版本的eclipse /更新版本的GMF重用已经定制的代码。我可以将自定义分组为假设15个修改,但每个更改必须对1000个java类进行(相同的更改)。 有没有办法自定义代码生成或重新使用已经定制的GMF代码与更新版本的eclipse / GMF?

请帮助解决这个问题。

提前致谢。

1 个答案:

答案 0 :(得分:0)

在GMF codegen代码库中查找相应的JET模板,并修改相应模板中的代码。 (模板名称相当不言自明)。对于那些不熟悉JET的人来说,代码模板文件应该可以消化......