AlarmFunction.java 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package com.ims.eval.expression;
  2. import lombok.Data;
  3. import lombok.NoArgsConstructor;
  4. import lombok.extern.slf4j.Slf4j;
  5. import java.util.HashMap;
  6. import java.util.List;
  7. import java.util.Map;
  8. @Data
  9. @NoArgsConstructor
  10. @Slf4j
  11. public class AlarmFunction {
  12. private AlarmExpression alarmExpression;
  13. private List<AlarmFunction> children;
  14. private AlarmFunction parent;
  15. private long lastExplainTime = 0;
  16. public Object explain() {
  17. Map<String, Object> varMap = new HashMap<>();
  18. if (alarmExpression.getVarList() != null && alarmExpression.getVarList().size() > 0) {
  19. for (String varName : alarmExpression.getVarList()) {
  20. }
  21. }
  22. if (children != null && children.size() > 0) {
  23. for (AlarmFunction af : children) {
  24. Object result = af.explain();
  25. varMap.put(af.getAlarmExpression().getFunCode(), result);
  26. }
  27. }
  28. return ScriptShell.parseExpr(alarmExpression.getExpression(), varMap);
  29. }
  30. }