当前位置: 首页 > 知识库问答 >
问题:

如何使用EMF生成私有/受保护的方法和变量?

相野
2023-03-14

我希望使用基于UML模型的genmodel生成Java代码。

我正在使用Papyrus的Eclipse Oxygen,UML模型(使用了一些Ecore配置文件),以便使用GenModel向导生成Ecore,最终生成模型Java代码(标准Eclipse插件)。

我已将生成的源代码与手写的源代码分开,因此将避免@generated not+手动修改解决方案:)

    null

共有1个答案

阚吕恭
2023-03-14

据我所知,不可能设置getter/setter的访问修饰符。我认为这里的主要问题是所有接口方法都必须是公共的,因此您不能在生成的接口中真正具有任何其他可见性。而且您通常不想直接将实现类提供给我们。

您可以尝试从接口中删除getter/setter。显然,有SuppressedGetVisibilitySuppressedSetVisibilitygenmodel注释来抑制接口中的getter和setter生成(SuppressedDissetVisibilitySuppressedUnsetVisibility也存在)。它们将只出现在实现类中。

另一种选择可能是更改元模型并组合模型元素,使它们实现两种不同类型的接口:一种是描述公共API的公共接口,另一种是用于内部API的内部接口。则只向用户公开公共接口。

 类似资料:
  • 面向对象编程最重要的原则之一 —— 将内部接口与外部接口分隔开来。 在开发比 “hello world” 应用程序更复杂的东西时,这是“必须”遵守的做法。 为了理解这一点,让我们脱离开发过程,把目光转向现实世界。 通常,我们使用的设备都非常复杂。但是,将内部接口与外部接口分隔开来可以让我们使用它们且没有任何问题。 一个现实生活中的例子 例如,一个咖啡机。从外面看很简单:一个按钮,一个显示器,几个洞

  • TypeScript中的和变量之间有什么区别?对于也存在类似的问题,但我不确定这两种语言中的概念是否相同。如果没有,了解这些差异将是有益的。

  • 问题内容: 关键字授予对相同包和子类(http://java.sun.com/docs/books/tutorial/java/javaOO/accesscontrol.html)中的类的访问权限。 现在,每个类都有一个超类(http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html)。 因此,我得出结论,即使每个类都可以访问的方法。

  • 我有两个配置,代码是这样的。 代码未按预期运行。所以我的问题是... 对于bean方法,当bean方法被Spring AOP代理后,使用修饰符<code>public 有没有办法在配置中隐藏bean 在这种情况下,我是否触发了方法注入 由于bean方法在大型项目中可能具有相同的名称,是否有一些最佳实践来避免潜在的冲突(注入意外的bean)

  • 我正在使用Mockito 1.9.5。我如何嘲笑从受保护的方法返回的内容?我有这个受保护的方法... 然而,当我尝试在JUnit中这样做时: 在最后一行,我得到一个编译错误“方法‘myMethod’不可见”如何使用Mockito来模拟受保护的方法?如果答案是这样,我愿意升级我的版本。

  • 问题内容: 什么时候以及为什么要在类中使用,和函数以及变量?它们之间有什么区别? 例子: 问题答案: 你用: 范围,以使该属性/方法可从任何位置,对象的其他类和实例使用。 当您希望您的属性/方法仅在其自己的类中可见时。 要使属性/方法在扩展当前类的所有类(包括父类)中可见时显示范围。 更多:( 有关全面信息) PHP手册-可见性