2017-01-31 83 views
0

我想使用多个注释上的方法一样相关注释在Java 1.6

@Transaction 
    public void saveUserName(@Conn Connection con, String strName){ 
    ..... 
    ..... 
    } 

在这里,我要确保在使用@Conn注释如果没有对方法指定@Transaction注释,那么它应该向我显示编译时错误。

回答

0

您可以通过编写一个annotation processor来实现此目的。处理器检查程序中所有带注释的元素(例如方法和形式参数,并且它可以像编译器一样发出警告。)

无论何时编译代码,都应该运行处理器。所述-processor commnad行参数javac,例如:

javac -processor TransactionConnProcessor MyFile.java

这里是一个tutorial on writing an annotation processor

另外,还可以扩展现有的分析工具,例如PMD,Jlint,或FindBugs的,使得其人所以警告这个错误。

+0

比方说,我想确保如果方法中存在@Transaction注释,那么该方法应该有Connection的实例,否则它应该会在IDE中显示编译时错误。简而言之,我想实现对方法级别注释使用的Required参数验证。 – Kanti

+0

每个IDE都有自己的编写代码分析和报告问题的机制。您需要查看IDE的文档。静态分析工具的注释处理器或插件是独立于IDE的。 – mernst