add AdapterMapperGeneratorFactory

This commit is contained in:
linpeilie 2024-06-26 16:53:01 +08:00
parent 9bfe62a0c2
commit a1fddcd1ea
2 changed files with 24 additions and 11 deletions

View File

@ -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();
}
}
}

View File

@ -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 =