当前,无法使用@value
标记将值动态地注入Javadoc注释; @value
标签只能引用静态字段。
在我的情况下,这是有问题的,因为我有许多子类,其中包含许多重写的方法,它们之间的Javadoc注释略有不同。每次文档更改时,我都必须更新每个子类中的相应方法。拥有20多个子类,这变得非常繁重。
是否可以通过某种方式将值动态注入Javadoc注释?,即定义某种Javadoc模板?我愿意接受任何一种解决方案,无论是实施某种自定义标签还是使用Maven插件。
我的代码当前的外观:
abstract class A {
int method1();
}
public class B extends A{
/**
* Returns the id of the corresponding B object.
*/
int method1() {
return super.method1();
}
}
public class C extends A{
/**
* Returns the id of the corresponding C object.
*/
int method1() {
return super.method1();
}
}
我希望它的外观(或遵循此总体思路的内容)
abstract class A {
/**
* Returns the id of the corresponding {@value getEntityName()}
*/
int method1();
abstract String getEntityName();
}
public class B extends A {
String getEntityName() { return "B object"; }
}
public class C extends A {
String getEntityName() { return "C object"; }
}