package com.ims.eval.expression; import lombok.Data; import lombok.NoArgsConstructor; import lombok.extern.slf4j.Slf4j; import java.util.HashMap; import java.util.List; import java.util.Map; @Data @NoArgsConstructor @Slf4j public class AlarmFunction { private AlarmExpression alarmExpression; private List children; private AlarmFunction parent; private long lastExplainTime = 0; public Object explain() { Map varMap = new HashMap<>(); if (alarmExpression.getVarList() != null && alarmExpression.getVarList().size() > 0) { for (String varName : alarmExpression.getVarList()) { } } if (children != null && children.size() > 0) { for (AlarmFunction af : children) { Object result = af.explain(); varMap.put(af.getAlarmExpression().getFunCode(), result); } } return ScriptShell.parseExpr(alarmExpression.getExpression(), varMap); } }