package foundation.state; import java.util.List; import foundation.util.MapList; import foundation.util.Util; public class ObjectStateOperatorsBucket { private static MapList items; static { items = new MapList(); } public static void loadOne(List targets, StatePoint statePoint) { String toCode = statePoint.getToCode(); toCode = toCode.toLowerCase(); String endCode = statePoint.getEndCode(); String fromCode = statePoint.getFromCode(); for (String target: targets) { //1. commit String key = createKey(target, statePoint.getFromCode(), statePoint.getOperator()); if (items.contains(key)) { continue; } items.add(key, toCode); //2. approve if (Util.isEmpty(endCode)) { continue; } key = createKey(target, statePoint.getToCode(), "approve"); if (items.contains(key)) { continue; } endCode = endCode.toLowerCase(); items.add(key, endCode); //3. gohome key = createKey(target, statePoint.getToCode(), "gohome"); if (items.contains(key)) { continue; } fromCode = fromCode.toLowerCase(); items.add(key, fromCode); } } public static String getToStates(String dataName, String fromState, String operator) { String key = createKey(dataName, fromState, operator); return items.get(key); } private static String createKey(String dataName, String fromState, String operator) { return dataName + "-" + fromState + "-" + operator; } }