A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/pmd/pmd/issues/2461 below:

[java] ExcessiveParameterListRule must ignore a private constructor · Issue #2461 · pmd/pmd · GitHub

Affects PMD Version:

6.23.0

Description:

ExcessiveParameterListRule must ignore a private constructor!
Otherwise, a builder pattern can't be applied to class with large count of parameters.

Code Sample demonstrating the issue:

public class Immutable {

    private final int a1;
    ...
    private final int a9;

    // This case must be ignored by ExcessiveParameterListRule
    private Immutable(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9) {
        this.a1 = a1;
        ...
        this.a9 = a9;
    }
    
    public static final class Builder {
        private int a1;
        ...
        private int a9;
        public void setA1(final int a1) {
            this.a1 = a1;
        }
        ...
        public void setA9(final int a9) {
            this.a9 = a9;
        }
        public Immutable build (){
            return new Immutable(a1, ...  ,a9);
        }
    }
}

Running PMD through: Maven


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4