我们正在考虑基于注释属性的值来做一些jqassistant概念/规则。
可以用jqassistant查询和计算这些值吗?
示例:查找所有具有用注释的方法的类
@javax.ejb.TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
以下查询返回由注释的所有类型 @TransactionAttribute 价值:
@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 是的。
TransactionAttributeType