houzhongjian
2024-11-07 a874b928e16320839315b9abcdf2cece1229a424
提交 | 用户 | 时间
7fd198 1 package com.iailab.module.model.mdk.factory;
2
3 import com.iailab.module.model.mcs.pre.entity.MmItemTypeEntity;
cf2287 4 import com.iailab.module.model.mdk.predict.PredictItemHandler;
7fd198 5 import lombok.extern.slf4j.Slf4j;
6 import org.springframework.beans.factory.annotation.Autowired;
7 import org.springframework.context.ApplicationContext;
8 import org.springframework.stereotype.Component;
9
10 /**
11  * 创建预测项对象的工厂
12  */
13 @Slf4j
14 @Component
15 public class PredictItemFactory {
16
17     @Autowired
18     private ApplicationContext applicationContext;
19
20     @Autowired
21     private ItemEntityFactory itemEntityFactory;
22
23     /**
24      * 根据预测项实体创建对应的预测项对象
25      *
26      * @param itemId
27      * @return
28      */
cf2287 29     public PredictItemHandler create(String itemId) {
7fd198 30         MmItemTypeEntity itemTypeEntity = itemEntityFactory.getMmItemTypeEntity(itemId);
31         //获取预测项的预测程序的类
32         Object itemObject = null;
33         try {
cf2287 34             Class<?> clazz = Class.forName(itemTypeEntity.getItemclasstype());
7fd198 35             itemObject = applicationContext.getBean(clazz);
36         } catch (Exception e) {
37             log.error("exception message : {}", e.getMessage());
38         }
cf2287 39         return (PredictItemHandler) itemObject;
7fd198 40     }
41 }