package com.ycl.factory; import com.ycl.calculate.*; import constant.CalculationStrategyConstants; import java.util.HashMap; import java.util.Map; public class IndexCalculationFactory { private static final Map calculators = new HashMap<>(); static { //点位在线、视图库对接稳定性 calculators.put(CalculationStrategyConstants.Car_SiteOnline_ViewStability, new CarSiteOnlineCalculation()); calculators.put(CalculationStrategyConstants.Face_SiteOnline_ViewStability, new FaceSiteOnlineCalculation()); //信息准确率 calculators.put(CalculationStrategyConstants.Car_InfoAccuracy, new CarInFoAccuracyCalculation()); calculators.put(CalculationStrategyConstants.Face_InfoAccuracy, new FaceInFoAccuracyCalculation()); //抓拍数据上传延迟 calculators.put(CalculationStrategyConstants.Car_SnapshotDelay, new CarSnapshotDelayCalculation()); calculators.put(CalculationStrategyConstants.Face_SnapshotDelay, new FaceSnapshotDelayCalculation()); } public static CalculationStrategy getCalculator(String indexName) { return calculators.get(indexName); } }