我正在尝试使用正则表达式创建一个checkstyle模块,该模块检查javax.ws.rs.Path注释是否以斜杠开头。
在我定义的checkstyle.xml文件中
<module name="Regex">
<property name="format" value="/api" />
<property name="message" value="Missing /" />
</module>
我要检查的是是否有如下的资源班级
@Path("/api/v1/persons")
public class PersonResource {
...
}
然后,如果我的班级如下,它将顺利通过检查,
@Path("api/v1/persons")
public class PersonResource {
...
}
请注意,缺少第一个/
,然后应该从我的检查样式中得到错误/警告。
现在可以使用checkstyle来实现,还是我必须编写自己的check。
我似乎在Annotations中找不到能解决问题的任何东西。
答案 0 :(得分:1)
没有标准的Check可以满足您的需求,但是没有标准的Checks,http://sevntu-checkstyle.github.io/sevntu.checkstyle/apidocs/com/github/sevntu/checkstyle/checks/annotation/ForbidAnnotationElementValueCheck.html应该能够执行适当的值,您只需要构建适当的regexp即可。项目页面https://github.com/sevntu-checkstyle/sevntu.checkstyle。如果您在使用自定义Checks时遇到问题,可以将该Check移至标准库,但这需要您的帮助。