private static MethodSpec createConstructor()

in dataenum-processor/src/main/java/com/spotify/dataenum/processor/generator/value/ValueTypeFactory.java [114:128]


  private static MethodSpec createConstructor(
      OutputValue value, Optional<Modifier> constructorAccessModifier) {
    MethodSpec.Builder constructor =
        MethodSpec.constructorBuilder().addModifiers(fromOptional(constructorAccessModifier));
    for (Parameter parameter : value.parameters()) {
      constructor.addParameter(parameter.type(), parameter.name());

      if (parameter.type().isPrimitive() || parameter.canBeNull()) {
        constructor.addStatement("this.$1L = $1L", parameter.name());
      } else {
        constructor.addStatement("this.$1L = checkNotNull($1L)", parameter.name());
      }
    }
    return constructor.build();
  }