Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
remove notnull from models
Browse files Browse the repository at this point in the history
dcb6 committed Sep 6, 2024
1 parent 4ded708 commit d8a589a
Showing 7 changed files with 30 additions and 5 deletions.
Original file line number Diff line number Diff line change
@@ -65,6 +65,8 @@ public final U getCustomConfig() {
return customConfig;
}

public abstract boolean builderNotNullChecks();

public final T getPoetClassNameFactory() {
return poetClassNameFactory;
}
Original file line number Diff line number Diff line change
@@ -117,7 +117,8 @@ public GeneratedObject generateFile() {
generatorContext.getCustomConfig().enablePublicConstructors(),
generatorContext.deserializeWithAdditionalProperties(),
generatorContext.getCustomConfig().jsonInclude(),
generatorContext.getCustomConfig().disableRequiredPropertyBuilderChecks());
generatorContext.getCustomConfig().disableRequiredPropertyBuilderChecks(),
generatorContext.builderNotNullChecks());
TypeSpec objectTypeSpec = genericObjectGenerator.generate();
JavaFile javaFile =
JavaFile.builder(className.packageName(), objectTypeSpec).build();
Original file line number Diff line number Diff line change
@@ -49,13 +49,15 @@ public final class BuilderGenerator {
private final boolean isSerialized;
private final boolean supportAdditionalProperties;
private final boolean disableRequiredPropertyBuilderChecks;
private final boolean builderNotNullChecks;

public BuilderGenerator(
ClassName objectClassName,
List<EnrichedObjectProperty> objectPropertyWithFields,
boolean isSerialized,
boolean supportAdditionalProperties,
boolean disableRequiredPropertyBuilderChecks) {
boolean disableRequiredPropertyBuilderChecks,
boolean builderNotNullChecks) {
this.objectClassName = objectClassName;
this.objectPropertyWithFields = objectPropertyWithFields.stream()
.map(BuilderGenerator::maybeGetEnrichedObjectPropertyWithField)
@@ -74,6 +76,7 @@ public BuilderGenerator(
this.nestedBuilderClassName = objectClassName.nestedClass(NESTED_BUILDER_CLASS_NAME);
this.isSerialized = isSerialized;
this.supportAdditionalProperties = supportAdditionalProperties;
this.builderNotNullChecks = builderNotNullChecks;
}

public Optional<ObjectBuilder> generate() {
@@ -294,7 +297,7 @@ private MethodSpec.Builder getRequiredFieldSetter(
EnrichedObjectPropertyWithField enrichedObjectProperty, ClassName returnClass) {
Builder parameterSpecBuilder = ParameterSpec.builder(
enrichedObjectProperty.enrichedObjectProperty.poetTypeName(), enrichedObjectProperty.fieldSpec.name);
if (!enrichedObjectProperty.enrichedObjectProperty.poetTypeName().isPrimitive()) {
if (!enrichedObjectProperty.enrichedObjectProperty.poetTypeName().isPrimitive() && builderNotNullChecks) {
parameterSpecBuilder.addAnnotation(ClassName.get("org.jetbrains.annotations", "NotNull"));
}
return MethodSpec.methodBuilder(enrichedObjectProperty.fieldSpec.name)
Original file line number Diff line number Diff line change
@@ -32,6 +32,7 @@ public final class ObjectTypeSpecGenerator {
private final boolean publicConstructorsEnabled;
private final boolean supportAdditionalProperties;
private final boolean disableRequiredPropertyBuilderChecks;
private final boolean builderNotNullChecks;

public ObjectTypeSpecGenerator(
ClassName objectClassName,
@@ -42,11 +43,13 @@ public ObjectTypeSpecGenerator(
boolean publicConstructorsEnabled,
boolean supportAdditionalProperties,
ICustomConfig.JsonInclude jsonInclude,
Boolean disableRequiredPropertyBuilderChecks) {
Boolean disableRequiredPropertyBuilderChecks,
boolean builderNotNullChecks) {
this.objectClassName = objectClassName;
this.generatedObjectMapperClassName = generatedObjectMapperClassName;
this.interfaces = interfaces;
this.jsonInclude = jsonInclude;
this.builderNotNullChecks = builderNotNullChecks;
for (ImplementsInterface implementsInterface : interfaces) {
allEnrichedProperties.addAll(implementsInterface.interfaceProperties());
}
@@ -199,7 +202,8 @@ private Optional<ObjectBuilder> generateBuilder() {
allEnrichedProperties,
isSerialized,
supportAdditionalProperties,
disableRequiredPropertyBuilderChecks);
disableRequiredPropertyBuilderChecks,
builderNotNullChecks);
return builderGenerator.generate();
}
}
Original file line number Diff line number Diff line change
@@ -24,4 +24,9 @@ public ModelGeneratorContext(
public final boolean deserializeWithAdditionalProperties() {
return false;
}

@Override
public boolean builderNotNullChecks() {
return false;
}
}
Original file line number Diff line number Diff line change
@@ -22,4 +22,9 @@ public ClientGeneratorContext(
public boolean deserializeWithAdditionalProperties() {
return true;
}

@Override
public boolean builderNotNullChecks() {
return true;
}
}
Original file line number Diff line number Diff line change
@@ -26,4 +26,9 @@ public SpringGeneratorContext(
public boolean deserializeWithAdditionalProperties() {
return false;
}

@Override
public boolean builderNotNullChecks() {
return true;
}
}

0 comments on commit d8a589a

Please sign in to comment.