JQAssistant - 是否可以查询注释属性的值?

JQAssistant - is it possible to query for the value of annotation attributes?

我们正在考虑根据注释属性的值做一些 JQAssistant concepts/rules。

能否使用 JQAssistant 查询和评估这些值?

示例:查找所有 类 具有用

注释的方法
@javax.ejb.TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)

以下查询 returns 由 @TransactionAttribute 和值注释的所有类型:

MATCH (t:Type)-[:ANNOTATED_BY]->(txAttribute)-[:OF_TYPE]->(:Type{fqn:"javax.ejb.TransactionAttribute"}), (txAttribute)-[:HAS]->(:Value{name:"value"})-[:IS]->(txAttributeType:Field) RETURN t.fqn, txAttributeType.signature

结果如下所示:

"your.project.a.impl.ServiceAImpl" "javax.ejb.TransactionAttributeType REQUIRES_NEW"

返回值是枚举类型TransactionAttributeType中声明的相应字段的签名。