有没有办法,如何更改覆盖方法的生成注释 ' // $ {todo}自动生成的方法存根'到另一个文本只用于一种方法。
如果有人覆盖方法,我需要显示警告和提示。
举个例子:
public class DateHolder{
public Date date;
@SomeOverridingAnnotation(generateComment= "WARNING: if override and not use super then add 1 month to result!")
public int getMonth(){
return date.getMonth() + 1;
}
}
public class DateHolder2 extends DateHolder{
@Override
public int getMonth() {
// WARNING: if override and not use super then add 1 month to result!
return super.getMonth();
}
}
答案 0 :(得分:-1)
这在很大程度上取决于您使用的编辑器,因为生成的注释是由这些编辑生成的。您的编辑器或IDE是否支持可以访问类内容的脚本注释生成器?
如果不是这样的话。我怀疑有一个这样的编辑。可能还有另一种方法可以达到你想要的效果。您可以在自己的类中进行管理,例如:
public class DateHolder {
public Date date;
private int dummyInt = -42;
/**
* Will try to call override method getMonthPlusOne, if there is not such override, then it returns month from date + 1.
*/
public final int getMonth() {
int res = getMonthPlusOne();
if ( res == dummyInt )
return date.getMonth() + 1;
return res;
}
protected int getMonthPlusOne() {
return dummyInt;
}
}
public class DateHolder2 extends DateHolder {
@Override
protected int getMonthPlusOne() {
// it will return dummyInt from DateHolder and that will add 1 to month
return super.getMonthPlusOne();
}
}