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
中声明的相应字段的签名。
我们正在考虑根据注释属性的值做一些 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
中声明的相应字段的签名。