Add string representer
This commit is contained in:
parent
8d02729342
commit
8d66542067
|
@ -90,13 +90,11 @@ public class GenDataBaseX extends ClassGenerator {
|
||||||
}
|
}
|
||||||
if (fieldTypeName.isPrimitive() || !deepCheckBeforeCreatingNewEqualInstances) {
|
if (fieldTypeName.isPrimitive() || !deepCheckBeforeCreatingNewEqualInstances) {
|
||||||
setter.addCode("return $N == this.$N ? this : new $T(", fieldName, fieldName, type);
|
setter.addCode("return $N == this.$N ? this : new $T(", fieldName, fieldName, type);
|
||||||
setter.addCode(String.join(", ", base.getData().keySet()));
|
|
||||||
setter.addStatement(")");
|
|
||||||
} else {
|
} else {
|
||||||
setter.addCode("return $T.equals($N, this.$N) ? this : new $T(", Objects.class, fieldName, fieldName, type);
|
setter.addCode("return $T.equals($N, this.$N) ? this : new $T(", Objects.class, fieldName, fieldName, type);
|
||||||
setter.addCode(String.join(", ", base.getData().keySet()));
|
|
||||||
setter.addStatement(")");
|
|
||||||
}
|
}
|
||||||
|
setter.addCode(String.join(", ", base.getData().keySet()));
|
||||||
|
setter.addStatement(")");
|
||||||
|
|
||||||
classBuilder.addMethod(setter.build());
|
classBuilder.addMethod(setter.build());
|
||||||
});
|
});
|
||||||
|
@ -117,6 +115,16 @@ public class GenDataBaseX extends ClassGenerator {
|
||||||
classBuilder.addMethod(ofMethod.build());
|
classBuilder.addMethod(ofMethod.build());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final String stringRepresenter = base.getStringRepresenter();
|
||||||
|
if (stringRepresenter != null && !stringRepresenter.isBlank()) {
|
||||||
|
var toStringMethod = MethodSpec.methodBuilder("toString");
|
||||||
|
toStringMethod.addModifiers(Modifier.PUBLIC);
|
||||||
|
toStringMethod.addAnnotation(Override.class);
|
||||||
|
toStringMethod.returns(String.class);
|
||||||
|
toStringMethod.addStatement("return " + stringRepresenter + "(this)");
|
||||||
|
classBuilder.addMethod(toStringMethod.build());
|
||||||
|
}
|
||||||
|
|
||||||
return new GeneratedClass(type.packageName(), classBuilder);
|
return new GeneratedClass(type.packageName(), classBuilder);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user