mirror of
https://gitee.com/easii/mapstruct-plus.git
synced 2025-12-07 17:48:35 +08:00
issue#I8QPRO
configuration support for the AutoMapperConfig and AutoMapMapperConfig package and class name
This commit is contained in:
parent
bdc55fc0fb
commit
f5e48f9b1f
@ -4,6 +4,9 @@ import io.github.linpeilie.annotations.MapperConfig;
|
||||
|
||||
@MapperConfig(adapterClassName = "DemoConvertMapperAdapter",
|
||||
adapterPackage = "io.github.linpeilie.adapter",
|
||||
mapAdapterClassName = "DemoMapConvertMapperAdapter")
|
||||
mapAdapterClassName = "DemoMapConvertMapperAdapter",
|
||||
autoConfigPackage = "cn.easii",
|
||||
autoMapperConfigClassName = "EasiiAutoMapperConfig",
|
||||
autoMapMapperConfigClassName = "EasiiAutoMapMapperConfig")
|
||||
public class MapStructPlusConfiguration {
|
||||
}
|
||||
|
||||
@ -399,6 +399,15 @@ public class AutoMapperProcessor extends AbstractProcessor {
|
||||
if (StrUtil.isNotEmpty(mapperConfig.mapAdapterClassName())) {
|
||||
AutoMapperProperties.setMapAdapterClassName(mapperConfig.mapAdapterClassName());
|
||||
}
|
||||
if (StrUtil.isNotEmpty(mapperConfig.autoConfigPackage())) {
|
||||
AutoMapperProperties.setAutoConfigPackage(mapperConfig.autoConfigPackage());
|
||||
}
|
||||
if (StrUtil.isNotEmpty(mapperConfig.autoMapperConfigClassName())) {
|
||||
AutoMapperProperties.setAutoMapperConfigClassName(mapperConfig.autoMapperConfigClassName());
|
||||
}
|
||||
if (StrUtil.isNotEmpty(mapperConfig.autoMapMapperConfigClassName())) {
|
||||
AutoMapperProperties.setAutoMapMapperConfigClassName(mapperConfig.autoMapMapperConfigClassName());
|
||||
}
|
||||
}
|
||||
|
||||
private void refreshProperties(final Set<? extends TypeElement> annotations, final RoundEnvironment roundEnv) {
|
||||
|
||||
@ -31,6 +31,12 @@ public class AutoMapperProperties {
|
||||
|
||||
private static String mapAdapterClassName = DEFAULT_MAP_ADAPTER_CLASS_NAME;
|
||||
|
||||
private static String autoConfigPackage = DEFAULT_BASE_PACKAGE;
|
||||
|
||||
private static String autoMapperConfigClassName = AUTO_MAPPER_CONFIG_CLASS_NAME;
|
||||
|
||||
private static String autoMapMapperConfigClassName = AUTO_MAP_MAPPER_CONFIG_CLASS_NAME;
|
||||
|
||||
public static String getMapperPackage() {
|
||||
return mapperPackage;
|
||||
}
|
||||
@ -60,15 +66,27 @@ public class AutoMapperProperties {
|
||||
}
|
||||
|
||||
public static String getConfigPackage() {
|
||||
return DEFAULT_BASE_PACKAGE;
|
||||
return autoConfigPackage;
|
||||
}
|
||||
|
||||
public static void setAutoConfigPackage(String autoConfigPackage) {
|
||||
AutoMapperProperties.autoConfigPackage = autoConfigPackage;
|
||||
}
|
||||
|
||||
public static String getConfigClassName() {
|
||||
return AUTO_MAPPER_CONFIG_CLASS_NAME;
|
||||
return autoMapperConfigClassName;
|
||||
}
|
||||
|
||||
public static void setAutoMapperConfigClassName(String autoMapperConfigClassName) {
|
||||
AutoMapperProperties.autoMapperConfigClassName = autoMapperConfigClassName;
|
||||
}
|
||||
|
||||
public static String getMapConfigClassName() {
|
||||
return AUTO_MAP_MAPPER_CONFIG_CLASS_NAME;
|
||||
return autoMapMapperConfigClassName;
|
||||
}
|
||||
|
||||
public static void setAutoMapMapperConfigClassName(String autoMapMapperConfigClassName) {
|
||||
AutoMapperProperties.autoMapMapperConfigClassName = autoMapMapperConfigClassName;
|
||||
}
|
||||
|
||||
public static String getComponentModel() {
|
||||
|
||||
@ -33,6 +33,12 @@ public class ProcessorOptions {
|
||||
|
||||
public static final String MAP_ADAPTER_CLASS_NAME = "mapstruct.plus.mapAdapterClassName";
|
||||
|
||||
public static final String AUTO_CONFIG_PACKAGE = "mapstruct.plus.autoConfigPackage";
|
||||
|
||||
public static final String AUTO_MAPPER_CONFIG_CLASS_NAME = "mapstruct.plus.autoMapperConfigClassName";
|
||||
|
||||
public static final String AUTO_MAP_MAPPER_CONFIG_CLASS_NAME = "mapstruct.plus.autoMapMapperConfigClassName";
|
||||
|
||||
public static Map<String, Consumer<String>> optionConsumers() {
|
||||
final Map<String, Consumer<String>> consumerMap = new HashMap<>();
|
||||
|
||||
@ -53,6 +59,9 @@ public class ProcessorOptions {
|
||||
consumerMap.put(ADAPTER_PACKAGE, AutoMapperProperties::setAdapterPackage);
|
||||
consumerMap.put(ADAPTER_CLASS_NAME, AutoMapperProperties::setAdapterClassName);
|
||||
consumerMap.put(MAP_ADAPTER_CLASS_NAME, AutoMapperProperties::setMapAdapterClassName);
|
||||
consumerMap.put(AUTO_CONFIG_PACKAGE, AutoMapperProperties::setAutoConfigPackage);
|
||||
consumerMap.put(AUTO_MAPPER_CONFIG_CLASS_NAME, AutoMapperProperties::setAutoMapperConfigClassName);
|
||||
consumerMap.put(AUTO_MAP_MAPPER_CONFIG_CLASS_NAME, AutoMapperProperties::setAutoMapMapperConfigClassName);
|
||||
return consumerMap;
|
||||
}
|
||||
|
||||
|
||||
@ -74,4 +74,28 @@ public @interface MapperConfig {
|
||||
*/
|
||||
String mapAdapterClassName() default "";
|
||||
|
||||
/**
|
||||
* MapStructPlus 所生成的配置类(AutoMapperConfig/AutoMapMapperConfig)包路径
|
||||
* <br>
|
||||
* 默认包路径为 io.github.linpeilie
|
||||
* @return AutoMapperConfig / AutoMapMapperConfig 包路径
|
||||
*/
|
||||
String autoConfigPackage() default "";
|
||||
|
||||
/**
|
||||
* MapStructPlus 所生成的配置类转换的配置类名
|
||||
* <br>
|
||||
* 默认类名为 AutoMapperConfig
|
||||
* @return AutoMapperConfig 类名
|
||||
*/
|
||||
String autoMapperConfigClassName() default "";
|
||||
|
||||
/**
|
||||
* MapStructPlus 所生成的配置 Map 与对象转换的配置类名
|
||||
* <br>
|
||||
* 默认类名为 AutoMapMapperConfig
|
||||
* @return AutoMapMapperConfig 类名
|
||||
*/
|
||||
String autoMapMapperConfigClassName() default "";
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user