java - 在 acceleo 中使用注释的问题

标签 java annotations acceleo

我是 acceleo 的新手,对于文本生成(针对 java 语言),我正在使用 ecore 文件和 .mtl 模块。

在我的应用程序中需要注释,所以我在我的 ecore 模型中声明了注释。但问题是我无法使用 MTL 文件中的注释详细信息(键、值)检查条件。

我在.mtl文件中的条件是

[if(r.getEAnnotation('sourcename').details.key.equalsIgnoreCase('keyname'))] [/如果]

但是这里的条件表达式在 if block 中不接受,甚至在 let block 中也不接受。

我能够打印我的注释源详细信息(键、值)的值,甚至我能够打印条件的真值或假值。

如果有人知道这个问题的解决方案请重播我

最佳答案

此表达式 r.getEAnnotation('sourcename').details 返回一个集合,因此“if”的条件是 boolean 值的集合,而不是 boolean 值。您可以将其更改为:

[if(r.getEAnnotation('sourcename').details->first().key.equalsIgnoreCase('keyname'))] [/if]

[if(r.getEAnnotation('sourcename').details->collect(key.equalsIgnoreCase('keyname'))->size() > 0)] 

[/if]

关于java - 在 acceleo 中使用注释的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5706522/

相关文章:

java - 检测电池充电 Android

java - Bean 验证不起作用

java - 注释处理器 : get all enum values from a TypeMirror or TypeElement

eclipse-emf - 如何在 Acceleo 中使用循环删除模板后多余的新行?

java - 尝试从Acceleo中的uml生成Java类

java.time.format.DateTimeParseException : when trying to parse timezoned datetime

java - 如何在android中创建线性布局和中心按钮?

java - JPA实体映射到特定表

javax.validation.ConstraintDefinitionException : HV000074

java - 在 Acceleo 中包装 java 函数(在 Eclipse 中)