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