mirror of
https://gitee.com/easii/mapstruct-plus.git
synced 2025-12-07 01:28:31 +08:00
AutoMapping、ReverseAutoMapping支持qualifiedByName、conditionQualifiedByName和dependsOn属性
This commit is contained in:
parent
f78efc39e1
commit
3023bbc5ed
@ -734,6 +734,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;
|
||||
}
|
||||
|
||||
@ -808,6 +811,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;
|
||||
}
|
||||
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package io.github.linpeilie.processor.generator;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.ArrayUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.squareup.javapoet.AnnotationSpec;
|
||||
import com.squareup.javapoet.ClassName;
|
||||
@ -143,6 +144,18 @@ public class AutoMapperGenerator {
|
||||
if (StringUtils.isNotEmpty(autoMappingMetadata.getConditionExpression())) {
|
||||
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());
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -40,4 +40,10 @@ public @interface AutoMapping {
|
||||
*/
|
||||
String defaultValue() default "";
|
||||
|
||||
String[] qualifiedByName() default {};
|
||||
|
||||
String[] conditionQualifiedByName() default {};
|
||||
|
||||
String[] dependsOn() default {};
|
||||
|
||||
}
|
||||
|
||||
@ -67,4 +67,10 @@ public @interface ReverseAutoMapping {
|
||||
*/
|
||||
String defaultValue() default "";
|
||||
|
||||
String[] qualifiedByName() default {};
|
||||
|
||||
String[] conditionQualifiedByName() default {};
|
||||
|
||||
String[] dependsOn() default {};
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user