Ecore装饰

时间:2012-05-09 11:29:52

标签: decorator eclipse-emf

我有一个生成的Ecore模型 - 效果非常好。

我现在所做的是,以编程方式创建模型的实例并加载它:

EARepository repository = EaadapterFactory.eINSTANCE.createEARepository();
repository.setFile(f);
repository.load();

现在我可以调用像

这样的方法
repository.getName();

工作正常!

我的问题:我想立即自定义getName()的行为!我想在这里设置一个装饰器,就像genmodel一样。例如。 getName()方法如果没有设置值,则应返回“no value set”。

是否可以在此处自定义getName()的行为方法,例如设置装饰器?!

原因:我想保留模型的原始行为。但在我的一个用例中,模型的行为应该有所不同。

感谢

1 个答案:

答案 0 :(得分:0)

通常,您应该使用生成的项目提供程序来生成您在UI中看到的标签。即,有一个生成的EARepositoryItemProvider,其中包含一个getText方法,您可以专门用于此目的。