Merge branch 'main' into cycle_avoiding

# Conflicts:
#	mapstruct-plus-processor/src/main/java/io/github/linpeilie/processor/generator/AutoMapperGenerator.java
This commit is contained in:
linpeilie 2024-03-14 19:18:30 +08:00
commit 767e57df1c
5 changed files with 60 additions and 0 deletions

View File

@ -755,6 +755,9 @@ public class AutoMapperProcessor extends AbstractProcessor {
metadata.setConditionExpression(reverseAutoMapping.conditionExpression()); metadata.setConditionExpression(reverseAutoMapping.conditionExpression());
metadata.setDateFormat(reverseAutoMapping.dateFormat()); metadata.setDateFormat(reverseAutoMapping.dateFormat());
metadata.setNumberFormat(reverseAutoMapping.numberFormat()); metadata.setNumberFormat(reverseAutoMapping.numberFormat());
metadata.setQualifiedByName(reverseAutoMapping.qualifiedByName());
metadata.setConditionQualifiedByName(reverseAutoMapping.conditionQualifiedByName());
metadata.setDependsOn(reverseAutoMapping.dependsOn());
return metadata; return metadata;
} }
@ -828,6 +831,9 @@ public class AutoMapperProcessor extends AbstractProcessor {
metadata.setConditionExpression(autoMapping.conditionExpression()); metadata.setConditionExpression(autoMapping.conditionExpression());
metadata.setDateFormat(autoMapping.dateFormat()); metadata.setDateFormat(autoMapping.dateFormat());
metadata.setNumberFormat(autoMapping.numberFormat()); metadata.setNumberFormat(autoMapping.numberFormat());
metadata.setQualifiedByName(autoMapping.qualifiedByName());
metadata.setConditionQualifiedByName(autoMapping.conditionQualifiedByName());
metadata.setDependsOn(autoMapping.dependsOn());
return metadata; return metadata;
} }

View File

@ -152,6 +152,18 @@ public class AutoMapperGenerator {
builder.addMember("conditionExpression", builder.addMember("conditionExpression",
CodeBlock.builder().add("$S", autoMappingMetadata.getConditionExpression()).build()); CodeBlock.builder().add("$S", autoMappingMetadata.getConditionExpression()).build());
} }
if (ArrayUtil.isNotEmpty(autoMappingMetadata.getQualifiedByName())) {
builder.addMember("qualifiedByName", CodeBlock.builder().add("$L",
"{" + ArrayUtil.join(autoMappingMetadata.getQualifiedByName(), ",", "\"", "\"") + "}").build());
}
if (ArrayUtil.isNotEmpty(autoMappingMetadata.getConditionQualifiedByName())) {
builder.addMember("conditionQualifiedByName", CodeBlock.builder().add("$L",
"{" + ArrayUtil.join(autoMappingMetadata.getConditionQualifiedByName(), ",", "\"", "\"") + "}").build());
}
if (ArrayUtil.isNotEmpty(autoMappingMetadata.getDependsOn())) {
builder.addMember("dependsOn", CodeBlock.builder().add("$L",
"{" + ArrayUtil.join(autoMappingMetadata.getDependsOn(), ",", "\"", "\"") + "}").build());
}
return builder.build(); return builder.build();
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} }

View File

@ -24,6 +24,12 @@ public class AutoMappingMetadata {
private String defaultValue = ""; private String defaultValue = "";
String[] qualifiedByName = {};
String[] conditionQualifiedByName = {};
String[] dependsOn = {};
public ClassName getTargetClass() { public ClassName getTargetClass() {
return targetClass; return targetClass;
} }
@ -103,4 +109,28 @@ public class AutoMappingMetadata {
public void setConditionExpression(final String conditionExpression) { public void setConditionExpression(final String conditionExpression) {
this.conditionExpression = conditionExpression; this.conditionExpression = conditionExpression;
} }
public String[] getQualifiedByName() {
return qualifiedByName;
}
public void setQualifiedByName(String[] qualifiedByName) {
this.qualifiedByName = qualifiedByName;
}
public String[] getConditionQualifiedByName() {
return conditionQualifiedByName;
}
public void setConditionQualifiedByName(String[] conditionQualifiedByName) {
this.conditionQualifiedByName = conditionQualifiedByName;
}
public String[] getDependsOn() {
return dependsOn;
}
public void setDependsOn(String[] dependsOn) {
this.dependsOn = dependsOn;
}
} }

View File

@ -40,4 +40,10 @@ public @interface AutoMapping {
*/ */
String defaultValue() default ""; String defaultValue() default "";
String[] qualifiedByName() default {};
String[] conditionQualifiedByName() default {};
String[] dependsOn() default {};
} }

View File

@ -67,4 +67,10 @@ public @interface ReverseAutoMapping {
*/ */
String defaultValue() default ""; String defaultValue() default "";
String[] qualifiedByName() default {};
String[] conditionQualifiedByName() default {};
String[] dependsOn() default {};
} }