配置生成的覆盖方法注释

时间:2017-09-20 06:44:31

标签: java eclipse

有没有办法,如何更改覆盖方法的生成注释 ' // $ {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();
    }
}

1 个答案:

答案 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();
    }
}