在我的模型中,我声明了一个界面:
:first-child
我有很多实体扩展这个界面:
Interface('IMovement') {
date_time 'etd'
date_time 'rtd'
}
我想通过添加计算属性来增强界面,该属性计算日期之间的差异:rtd-etd。
我在Interface上添加了一个计算属性并生成了扩展名。
Entity('Entity1', extend:'IMovement') {
...
}
但是Eclipse引发了以下错误:
绑定不匹配:类型IMovement不是有效替代 有界参数的类型 AbstractComponentExtension
有没有办法在Interface上声明计算属性?
答案 0 :(得分:1)
你绝对可以在Jspresso接口上使用计算属性,但你必须告诉框架你的接口实现(扩展)IComponent
,以便你可以使用扩展机制。
使用服务条目很容易实现,如下所示:
Interface('IMovement',
extension:'IMovementExtension',
services:['org.jspresso.framework.model.component.IComponent':null]) {
...
}