fixed unnecessary non-null annotation in constructor

This commit is contained in:
Gavriil Sitnikov 2017-06-09 16:36:01 +03:00
parent 60d75c87fa
commit e09925fc22
1 changed files with 17 additions and 9 deletions

View File

@ -776,13 +776,18 @@ class ClassObject extends SchemeObject {
for (final FieldInfo field : fields) {
final int argIndex = typeArguments.indexOf(field.typeName.toString())
if (argIndex >= 0) {
result.addParameter(ParameterSpec.builder(ClassName.bestGuess(childTypeArguments.get(argIndex)), field.name, Modifier.FINAL)
.addAnnotation(field.couldContainsNull() ? Types.NULLABLE : Types.NON_NULL)
.build())
final ParameterSpec.Builder paramBuilder = ParameterSpec
.builder(ClassName.bestGuess(childTypeArguments.get(argIndex)), field.name, Modifier.FINAL)
if (!field.typeName.primitive) {
paramBuilder.addAnnotation(field.couldContainsNull() ? Types.NULLABLE : Types.NON_NULL)
}
result.addParameter(paramBuilder.build())
} else {
result.addParameter(ParameterSpec.builder(field.typeName, field.name, Modifier.FINAL)
.addAnnotation(field.couldContainsNull() ? Types.NULLABLE : Types.NON_NULL)
.build())
final ParameterSpec.Builder paramBuilder = ParameterSpec.builder(field.typeName, field.name, Modifier.FINAL)
if (!field.typeName.primitive) {
paramBuilder.addAnnotation(field.couldContainsNull() ? Types.NULLABLE : Types.NON_NULL)
}
result.addParameter(paramBuilder.build())
}
parameters.add(field.name)
}
@ -792,6 +797,7 @@ class ClassObject extends SchemeObject {
@Override
void writeToFile(final File directory, final Map<String, SchemeObject> objects, final String packageName) {
final TypeSpec.Builder classBuilder = TypeSpec.classBuilder(name).addModifiers(Modifier.PUBLIC)
.addJavadoc("This class is autogenerated by Touchin tools")
.addAnnotation(AnnotationSpec.builder(Types.JSON_OBJECT).addMember("serializeNullObjects", "true").build())
.superclass(superclass != null ? superclass : Types.LOGAN_SQUARE_JSON_MODEL)
@ -877,9 +883,11 @@ class ClassObject extends SchemeObject {
}
if (fullConstructorBuilder != null) {
fullConstructorBuilder.addParameter(ParameterSpec.builder(field.typeName, field.name, Modifier.FINAL)
.addAnnotation(field.couldContainsNull() ? Types.NULLABLE : Types.NON_NULL)
.build())
final ParameterSpec.Builder paramBuilder = ParameterSpec.builder(field.typeName, field.name, Modifier.FINAL)
if (!field.typeName.primitive) {
paramBuilder.addAnnotation(field.couldContainsNull() ? Types.NULLABLE : Types.NON_NULL)
}
fullConstructorBuilder.addParameter(paramBuilder.build())
}
if (field.type == FieldType.LIST) {
if (fullConstructorBuilder != null) {