package org.springblade.mdm.program.service.programannotation;
|
|
import org.springblade.core.tool.utils.SpringUtil;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Component;
|
|
/**
|
* 负责切换合适的注释处理器
|
*/
|
@Component
|
public class AnnotationProcessorHelper {
|
@Autowired
|
private MachineAnnotationConfig annotationConfig;
|
|
public AnnotationProcessor getProcessor(String controlSystem){
|
AnnotationProperties props = annotationConfig.getConfigMap().get(controlSystem);
|
AnnotationProcessor processor;
|
if(props != null){
|
processor = SpringUtil.getBean(props.getBeanId());
|
processor.setAnnotationProperties(props);
|
|
}else{
|
processor = SpringUtil.getBean(DefaultProcessor.class);
|
processor.setAnnotationProperties(AnnotationProperties.getDefault());
|
}
|
processor.setControlSystem(controlSystem);
|
return processor;
|
}
|
}
|