IfSqlNode.java 653 B

12345678910111213141516171819202122232425262728293031
  1. package org.ssssssss.scripts;
  2. import org.ssssssss.context.RequestContext;
  3. import java.util.Objects;
  4. /**
  5. * 对应XML中 <if>
  6. */
  7. public class IfSqlNode extends SqlNode{
  8. /**
  9. * 判断表达式
  10. */
  11. private String test;
  12. public IfSqlNode(String test) {
  13. this.test = test;
  14. }
  15. @Override
  16. public String getSql(RequestContext context) {
  17. // 执行表达式
  18. Object value = context.evaluate(test);
  19. // 判断表达式返回结果是否是true,如果不是则过滤子节点
  20. if(Objects.equals(value,true)){
  21. return executeChildren(context);
  22. }
  23. return "";
  24. }
  25. }