注释指定哪些类可以调用方法?

时间:2016-02-22 15:11:58

标签: java annotations

是否有人知道任何框架或库(或IntelliJ或IntelliJ插件)中的注释可以在我的代码中强制执行,只有注释中描述的特定方法可以调用它?

例如

@caller(class="UsefulClass")
public static void myMethodToBeCalledOnlyByUsefulClass() {

}

1 个答案:

答案 0 :(得分:1)

Checker Framework允许您定义注释,例如@Caller,然后让编译器静态强制执行编程规则。您可以使用Checker Framework来定义@Caller注释和编译器插件。然后,每次使用插件编译代码时,如果代码使用不当,都会发出错误。

Checker Framework附带了许多注释built in,但不是@Caller,您必须自己定义。