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

View File

@ -152,6 +152,18 @@ public class AutoMapperGenerator {
builder.addMember("conditionExpression",
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();
}).collect(Collectors.toList());
}

View File

@ -24,6 +24,12 @@ public class AutoMappingMetadata {
private String defaultValue = "";
String[] qualifiedByName = {};
String[] conditionQualifiedByName = {};
String[] dependsOn = {};
public ClassName getTargetClass() {
return targetClass;
}
@ -103,4 +109,28 @@ public class AutoMappingMetadata {
public void setConditionExpression(final String 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[] qualifiedByName() default {};
String[] conditionQualifiedByName() default {};
String[] dependsOn() default {};
}

View File

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