Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在acceleo中使用注释时出现问题_Java_Annotations_Acceleo - Fatal编程技术网

Java 在acceleo中使用注释时出现问题

Java 在acceleo中使用注释时出现问题,java,annotations,acceleo,Java,Annotations,Acceleo,我对acceleo非常陌生,对于文本生成(java语言),我正在使用ecore文件和.mtl模块。 在我的应用程序中需要注释,因此我在ecore模型中声明了注释。但问题是,我无法检查MTL文件中的注释详细信息(键、值)是否符合条件 .mtl文件中的我的情况是 [if(r.getEAnnotation('sourcename').details.key.equalsIgnoreCase('keyname'))] [if] 但这里的条件表达式在if块中是不可接受的,甚至在let块中也是不可接受的 我

我对acceleo非常陌生,对于文本生成(java语言),我正在使用ecore文件和.mtl模块。

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

.mtl文件中的我的情况是

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

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

我可以打印注释源详细信息(键、值)的值,甚至可以打印条件的true或flase值


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

此表达式
r.getEAnnotation('sourcename')。详细信息
返回一个集合,因此“if”的条件是布尔值的集合,而不是布尔值的集合。您可以将其更改为以下内容:

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

“条件表达式在if块中不接受,甚至在let块中也不接受”是什么意思?当您尝试它时,该行上是否有编译错误?
[if(r.getEAnnotation('sourcename').details->collect(key.equalsIgnoreCase('keyname'))->size() > 0)] 

[/if]