我想移植一种遗留数据格式,它由类似于 Eclipse 建模框架 (EMF) Ecore 的概念组成:具有不同数据类型和默认值的参数的元素。
定制工具让您可以通过精美的基于表格的 GUI 编辑此类模型实例。
此外,参数的一个共同特征是可以添加一个推导规则,该规则指定参数值是从其他参数自动计算的。这似乎也类似于可以由 Java 代码或 OCLinEcore 实现的 Ecore 派生属性。
但是,传统格式的参数的自动派生是可选的。即用户总是可以选择这样的派生参数并选择他或她想要手动输入值。因此,即使派生的参数值也不是瞬态的,而是始终保持不变,包括参数处于“自动”还是“手动”模式的状态。
Ecore(包括 OCLinEcore 之类的扩展)中是否有任何方法可以保留派生属性并在运行时选择性/临时启用/禁用派生?
解决方法可能是不使用 Ecore 的派生属性功能,而是在客户端代码中手动实现可选派生。但是,可选派生规则的声明将不是标准方式。有什么方法可以重用 OCLinEcore 或类似的东西?