From a1fddcd1ea6a2a0e52c7a074d91a8c7b29610c9a Mon Sep 17 00:00:00 2001 From: linpeilie Date: Wed, 26 Jun 2024 16:53:01 +0800 Subject: [PATCH] add AdapterMapperGeneratorFactory --- .../AdapterMapperGeneratorFactory.java | 23 +++++++++++++++++++ .../processor/AutoMapperProcessor.java | 12 +--------- 2 files changed, 24 insertions(+), 11 deletions(-) create mode 100644 mapstruct-plus-processor/src/main/java/io/github/linpeilie/processor/AdapterMapperGeneratorFactory.java diff --git a/mapstruct-plus-processor/src/main/java/io/github/linpeilie/processor/AdapterMapperGeneratorFactory.java b/mapstruct-plus-processor/src/main/java/io/github/linpeilie/processor/AdapterMapperGeneratorFactory.java new file mode 100644 index 0000000..30c4196 --- /dev/null +++ b/mapstruct-plus-processor/src/main/java/io/github/linpeilie/processor/AdapterMapperGeneratorFactory.java @@ -0,0 +1,23 @@ +package io.github.linpeilie.processor; + +import io.github.linpeilie.ComponentModelConstant; +import io.github.linpeilie.processor.generator.DefaultAdapterMapperGenerator; +import io.github.linpeilie.processor.generator.SolonAdapterMapperGenerator; +import io.github.linpeilie.processor.generator.SpringAdapterMapperGenerator; +import org.mapstruct.MappingConstants; + +public class AdapterMapperGeneratorFactory { + + public static AbstractAdapterMapperGenerator instance(String componentModel) { + switch (AutoMapperProperties.getComponentModel()) { + case MappingConstants.ComponentModel.SPRING: + case ContextConstants.ComponentModelConfig.springLazy: + return new SpringAdapterMapperGenerator(); + case ComponentModelConstant.SOLON: + return new SolonAdapterMapperGenerator(); + default: + return new DefaultAdapterMapperGenerator(); + } + } + +} diff --git a/mapstruct-plus-processor/src/main/java/io/github/linpeilie/processor/AutoMapperProcessor.java b/mapstruct-plus-processor/src/main/java/io/github/linpeilie/processor/AutoMapperProcessor.java index 08d9f95..3ff75b5 100644 --- a/mapstruct-plus-processor/src/main/java/io/github/linpeilie/processor/AutoMapperProcessor.java +++ b/mapstruct-plus-processor/src/main/java/io/github/linpeilie/processor/AutoMapperProcessor.java @@ -178,17 +178,7 @@ public class AutoMapperProcessor extends AbstractProcessor { refreshProperties(annotations, roundEnv); // 根据配置生成适配类生成器 - switch (AutoMapperProperties.getComponentModel()) { - case MappingConstants.ComponentModel.SPRING: - case ContextConstants.ComponentModelConfig.springLazy: - this.adapterMapperGenerator = new SpringAdapterMapperGenerator(); - break; - case ComponentModelConstant.SOLON: - this.adapterMapperGenerator = new SolonAdapterMapperGenerator(); - break; - default: - this.adapterMapperGenerator = new DefaultAdapterMapperGenerator(); - } + this.adapterMapperGenerator = AdapterMapperGeneratorFactory.instance(AutoMapperProperties.getComponentModel()); // AutoMapMapper final TypeElement autoMapMapperAnnotation =