当内部类继承自base时,如何避免Checkstyle的FinalClass模块抱怨?

时间:2016-12-23 10:14:23

标签: java checkstyle

以下是我的真实模型类的简化方案,以突出显示该问题。

public class NullableModel {
    public static final NullableModel NULL = new NullableModel() {

        @Override
        public boolean isNull() {
            return true;
        }
    };

    public static NullableModel withValues(Object... values) {
        // some checks that sets 'allValid' boolean depending if value is OK
        boolean allValid = ...
        return allValid? new NullableModel(values) : NULL;
    }

    private Object[] values;

    private NullableModel(Object... values) {
        this.values = values;
    }

    public boolean isNull() {
        return false;
    }

    ...
}

如果我没有遗漏任何内容,则此代码会正确编译。如果我在启用FinalClass模块的情况下运行checkstyle,它会抱怨因为NullableModel不是final(所有构造函数都是私有的)。但是如果我创建了最终的NullableModel,它会在NULL静态最终声明中给出一个编译错误,因为没有任何东西可以从NullableModel继承,因为它是最终的。

FinalClass检查对我项目的很多其他部分都有效,这只是例外。所以,由于我无法做到最终,那么问题是,如何在不禁用FinalClass检查的情况下避免checkstyle错误?

提前致谢

0 个答案:

没有答案