Checkstyle-带有批注的方法必须在构造函数之前

问题描述 投票:0回答:1

如何定义Checkstyle验证以确保带有特定批注的所有方法出现在Java类的构造函数之前?

验证应接受以下内容:

class User {

    @Injected // -> [OK]: method with @Injected is before the constructor. 
    public void setName(String name) {
        this.name = name;
    }

    public User(String name) {
        this.name = name;
    }
}

以下内容应引起Checkstyle违规:

class User {
    public User(String name) {
        this.name = name;
    }

    @Injected // -> [NOK]: method should be before the constructor
    public void setName(String name) {
        this.name = name;
    }
}

是否可以配置Checkstyle Check available out of the box来检查此内容,或者需要custom Check implemenation来实现此功能?

java annotations checkstyle
1个回答
0
投票

否,没有开箱即用的Checkstyle Check。

为此,需要实现自定义Checkstyle Check,并且必须通过将其添加到验证配置xml中来触发此自定义验证。

© www.soinside.com 2019 - 2024. All rights reserved.