作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一些 POJO,用于在我的应用程序及其 Web 服务中随机播放数据。我们刚刚引入了一个注释来帮助我们验证那些 POJO 中的 String 字段是否具有一定的长度。这让我们可以验证 POJO,而不是等待数据库层在异常持续存在时吐出异常。
我现在想对那些对象进行分析,这些对象将告诉我哪些字段是没有这个新注释的字符串。我想这样做是为了获得没有此注释的字段列表,以便可以将其与其相应的数据库字段进行比较,并添加带有正确长度的注释作为其参数。
不,我们无法在 POJO 和数据库对象之间获得更好的关联。
不,我们的数据库对象没有可用的验证。我们真的希望这种验证发生在 POJO 上,因为它更容易在运行时验证和报告无效数据。
是否有一些静态分析工具可以帮助我完成这项任务?
最佳答案
当然可以。
解析 Java 代码。走 AST。在类的 AST 中找到感兴趣的字段(可能需要您还进行名称和类型解析(“符号表”),以便您可以从任意其他字段中区分您的字段),并检查 AST 以获取所需的注释。
您可以使用任何 Java AST 解析器(和名称解析器)执行此操作。我认为 Eclipse 可以提供这个。我们的DMS Software Reengineering Toolkit可以做到这一点。 ANTLR似乎有一个 Java 解析器,但我怀疑它是否有 Java 名称和类型解析。
关于java - 有没有办法使用静态代码分析来确定某个类型的所有字段是否都有注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6228035/
我是一名优秀的程序员,十分优秀!