创建包含FindBugs和Lombok的@NonNull的注释

时间:2016-05-13 20:02:36

标签: java annotations

我想使用Lombok的$tables = DB::select("SELECT table_schema,table_name, table_catalog FROM information_schema.tables WHERE table_catalog = 'YOUR TABLE CATALOG HERE' AND table_type = 'BASE TABLE' AND table_schema = 'public' ORDER BY table_name;") 注释自动为方法参数生成空值检查代码,同时还使用FindBugs'@NonNull来使用静态分析工具,并在适用的情况下生成适当的警告。

截至目前,我需要执行以下操作:

@NonNull

这很难看,所以我想避免使用这种语法。我读到了嵌套注释(herehere),但我似乎无法找到一种方法来创建我自己的自定义注释,并将public void doSomething (@lombok.NonNull @edu.umd.cs.findbugs.annotations.NonNull Object parameter) { // Do something } 注释作为嵌套注释。我试图做一些无效的事情吗?

这是我最近的尝试:

NonNull

2 个答案:

答案 0 :(得分:1)

你不能"合并"使用自定义注释的注释,但是您可以在类范围上使用@ParametersAreNonnullByDefault,这应该允许推断edu.umd.cs.findbugs.annotations.NonNull

答案 1 :(得分:0)

我认为您的链接都不会对您有所帮助。您需要使用自定义注释从两者扩展,但是您甚至无法从一个注释扩展,因为所有注释都具有Annotation的隐式扩展子句。