修改转换接口生成逻辑

This commit is contained in:
linpeilie 2024-06-12 18:41:54 +08:00
parent 01b72c92ab
commit 29a4bb76f9

View File

@ -8,7 +8,6 @@ import com.squareup.javapoet.MethodSpec;
import com.squareup.javapoet.ParameterSpec; import com.squareup.javapoet.ParameterSpec;
import com.squareup.javapoet.ParameterizedTypeName; import com.squareup.javapoet.ParameterizedTypeName;
import com.squareup.javapoet.TypeSpec; import com.squareup.javapoet.TypeSpec;
import io.github.linpeilie.annotations.AutoMapper;
import io.github.linpeilie.processor.ContextConstants; import io.github.linpeilie.processor.ContextConstants;
import io.github.linpeilie.processor.metadata.AutoMapperMetadata; import io.github.linpeilie.processor.metadata.AutoMapperMetadata;
import io.github.linpeilie.processor.metadata.AutoMappingMetadata; import io.github.linpeilie.processor.metadata.AutoMappingMetadata;
@ -26,7 +25,6 @@ import javax.annotation.processing.ProcessingEnvironment;
import javax.lang.model.element.AnnotationMirror; import javax.lang.model.element.AnnotationMirror;
import javax.lang.model.element.Modifier; import javax.lang.model.element.Modifier;
import javax.lang.model.element.TypeElement; import javax.lang.model.element.TypeElement;
import sun.reflect.annotation.AnnotationType;
import static javax.tools.Diagnostic.Kind.ERROR; import static javax.tools.Diagnostic.Kind.ERROR;
@ -239,8 +237,6 @@ public class AutoMapperGenerator {
} }
private AnnotationSpec buildGeneratedMapperAnnotationSpec(AutoMapperMetadata metadata) { private AnnotationSpec buildGeneratedMapperAnnotationSpec(AutoMapperMetadata metadata) {
Map<String, Object> autoMapperDefaultValueMap = AnnotationType.getInstance(AutoMapper.class).memberDefaults();
List<ClassName> usesClassNameList = List<ClassName> usesClassNameList =
Optional.ofNullable(metadata.getUsesClassNameList()).orElse(new ArrayList<>()); Optional.ofNullable(metadata.getUsesClassNameList()).orElse(new ArrayList<>());
@ -280,8 +276,7 @@ public class AutoMapperGenerator {
.addMember("imports", importsCodeBlock); .addMember("imports", importsCodeBlock);
// unmappedSourcePolicy // unmappedSourcePolicy
if (metadata.getUnmappedSourcePolicy() != null if (metadata.getUnmappedSourcePolicy() != null) {
&& !autoMapperDefaultValueMap.get("unmappedSourcePolicy").equals(metadata.getUnmappedSourcePolicy())) {
builder.addMember("unmappedSourcePolicy", CodeBlock.builder() builder.addMember("unmappedSourcePolicy", CodeBlock.builder()
.add("$T.$L", ClassName.get(ContextConstants.ReportingPolicy.packageName, .add("$T.$L", ClassName.get(ContextConstants.ReportingPolicy.packageName,
ContextConstants.ReportingPolicy.className), ContextConstants.ReportingPolicy.className),
@ -290,8 +285,7 @@ public class AutoMapperGenerator {
} }
// unmappedTargetPolicy // unmappedTargetPolicy
if (metadata.getUnmappedTargetPolicy() != null if (metadata.getUnmappedTargetPolicy() != null) {
&& !autoMapperDefaultValueMap.get("unmappedTargetPolicy").equals(metadata.getUnmappedTargetPolicy())) {
builder.addMember("unmappedTargetPolicy", CodeBlock.builder() builder.addMember("unmappedTargetPolicy", CodeBlock.builder()
.add("$T.$L", .add("$T.$L",
ClassName.get(ContextConstants.ReportingPolicy.packageName, ClassName.get(ContextConstants.ReportingPolicy.packageName,
@ -301,8 +295,7 @@ public class AutoMapperGenerator {
} }
// typeConversionPolicy // typeConversionPolicy
if (metadata.getTypeConversionPolicy() != null && if (metadata.getTypeConversionPolicy() != null) {
!autoMapperDefaultValueMap.get("typeConversionPolicy").equals(metadata.getTypeConversionPolicy())) {
builder.addMember("typeConversionPolicy", CodeBlock.builder() builder.addMember("typeConversionPolicy", CodeBlock.builder()
.add("$T.$L", .add("$T.$L",
ClassName.get(ContextConstants.ReportingPolicy.packageName, ClassName.get(ContextConstants.ReportingPolicy.packageName,
@ -312,9 +305,7 @@ public class AutoMapperGenerator {
} }
// collectionMappingStrategy // collectionMappingStrategy
if (metadata.getCollectionMappingStrategy() != null && if (metadata.getCollectionMappingStrategy() != null) {
!autoMapperDefaultValueMap.get("collectionMappingStrategy")
.equals(metadata.getCollectionMappingStrategy())) {
builder.addMember("collectionMappingStrategy", CodeBlock.builder() builder.addMember("collectionMappingStrategy", CodeBlock.builder()
.add("$T.$L", .add("$T.$L",
ClassName.get(ContextConstants.CollectionMappingStrategy.packageName, ClassName.get(ContextConstants.CollectionMappingStrategy.packageName,
@ -324,8 +315,7 @@ public class AutoMapperGenerator {
} }
// nullValueMappingStrategy // nullValueMappingStrategy
if (metadata.getNullValueMappingStrategy() != null && if (metadata.getNullValueMappingStrategy() != null) {
!autoMapperDefaultValueMap.get("nullValueMappingStrategy").equals(metadata.getNullValueMappingStrategy())) {
builder.addMember("nullValueMappingStrategy", CodeBlock.builder() builder.addMember("nullValueMappingStrategy", CodeBlock.builder()
.add("$T.$L", .add("$T.$L",
ClassName.get(ContextConstants.NullValueMappingStrategy.packageName, ClassName.get(ContextConstants.NullValueMappingStrategy.packageName,
@ -335,9 +325,7 @@ public class AutoMapperGenerator {
} }
// nullValueIterableMappingStrategy // nullValueIterableMappingStrategy
if (metadata.getNullValueIterableMappingStrategy() != null && if (metadata.getNullValueIterableMappingStrategy() != null) {
!autoMapperDefaultValueMap.get("nullValueIterableMappingStrategy")
.equals(metadata.getNullValueIterableMappingStrategy())) {
builder.addMember("nullValueIterableMappingStrategy", CodeBlock.builder() builder.addMember("nullValueIterableMappingStrategy", CodeBlock.builder()
.add("$T.$L", .add("$T.$L",
ClassName.get(ContextConstants.NullValueMappingStrategy.packageName, ClassName.get(ContextConstants.NullValueMappingStrategy.packageName,
@ -347,9 +335,7 @@ public class AutoMapperGenerator {
} }
// nullValuePropertyMappingStrategy // nullValuePropertyMappingStrategy
if (metadata.getNullValuePropertyMappingStrategy() != null && if (metadata.getNullValuePropertyMappingStrategy() != null) {
!autoMapperDefaultValueMap.get("nullValuePropertyMappingStrategy")
.equals(metadata.getNullValuePropertyMappingStrategy())) {
builder.addMember("nullValuePropertyMappingStrategy", CodeBlock.builder() builder.addMember("nullValuePropertyMappingStrategy", CodeBlock.builder()
.add("$T.$L", .add("$T.$L",
ClassName.get(ContextConstants.NullValuePropertyMappingStrategy.packageName, ClassName.get(ContextConstants.NullValuePropertyMappingStrategy.packageName,
@ -359,8 +345,7 @@ public class AutoMapperGenerator {
} }
// nullValueCheckStrategy // nullValueCheckStrategy
if (metadata.getNullValueCheckStrategy() != null && if (metadata.getNullValueCheckStrategy() != null) {
!autoMapperDefaultValueMap.get("nullValueCheckStrategy").equals(metadata.getNullValueCheckStrategy())) {
builder.addMember("nullValueCheckStrategy", CodeBlock.builder() builder.addMember("nullValueCheckStrategy", CodeBlock.builder()
.add("$T.$L", .add("$T.$L",
ClassName.get(ContextConstants.NullValueCheckStrategy.packageName, ClassName.get(ContextConstants.NullValueCheckStrategy.packageName,
@ -370,9 +355,7 @@ public class AutoMapperGenerator {
} }
// mappingControl // mappingControl
if (metadata.getMappingControl() != null && if (metadata.getMappingControl() != null) {
!((Class<?>) autoMapperDefaultValueMap.get("mappingControl")).getName()
.equals(metadata.getMappingControl().reflectionName())) {
builder.addMember("mappingControl", builder.addMember("mappingControl",
CodeBlock.builder().add("$T.class", metadata.getMappingControl()).build()); CodeBlock.builder().add("$T.class", metadata.getMappingControl()).build());
} }