Static inner classes - Builders mode

public class EmpTest {

    private Integer id;
    private Integer empLevel;
    private String mapingOrderLevel;
    private String empNo;
    private Integer orderNumLimit;

    private EmpTest(Builder builder) {
        id = builder.id;
        empLevel = builder.empLevel;
        mapingOrderLevel = builder.mapingOrderLevel;
        empNo = builder.empNo;
        orderNumLimit = builder.orderNumLimit;
    }


    public static final class Builder {

        private Integer id;
        private Integer empLevel;
        private String mapingOrderLevel;
        private String empNo;
        private Integer orderNumLimit;

        public Builder() {
        }

        public Builder id(Integer val) {
            id = val;
            return this;
        }

        public Builder empLevel(Integer val) {
            empLevel = val;
            return this;
        }

        public Builder mapingOrderLevel(String val) {
            mapingOrderLevel = val;
            return this;
        }

        public Builder empNo(String val) {
            empNo = val;
            return this;
        }

        public Builder orderNumLimit(Integer val) {
            orderNumLimit = val;
            return this;
        }
        
        public EmpTest build() {
            return new EmpTest(this);
        }

        @Override
        public String toString() {
            return "EmpTest{" +
                    "id=" + id +
                    ", empLevel=" + empLevel +
                    ", mapingOrderLevel='" + mapingOrderLevel + '\'' +
                    ", empNo='" + empNo + '\'' +
                    ", orderNumLimit=" + orderNumLimit +
                    '}';
        }
    }
}

 

Guess you like

Origin blog.csdn.net/qq_43118311/article/details/90692970