1 16 17 package org.apache.commons.jexl.parser; 18 19 import org.apache.commons.jexl.JexlContext; 20 21 import java.util.Collection ; 22 import java.util.Map ; 23 24 31 public class ASTEmptyFunction extends SimpleNode { 32 37 public ASTEmptyFunction(int id) { 38 super(id); 39 } 40 41 47 public ASTEmptyFunction(Parser p, int id) { 48 super(p, id); 49 } 50 51 52 public Object jjtAccept(ParserVisitor visitor, Object data) { 53 return visitor.visit(this, data); 54 } 55 56 57 public Object value(JexlContext jc) throws Exception { 58 SimpleNode sn = (SimpleNode) jjtGetChild(0); 59 60 63 64 Object o = sn.value(jc); 65 66 if (o == null) { 67 return Boolean.TRUE; 68 } 69 70 if (o instanceof String && "".equals(o)) { 71 return Boolean.TRUE; 72 } 73 74 if (o.getClass().isArray() && ((Object []) o).length == 0) { 75 return Boolean.TRUE; 76 } 77 78 if (o instanceof Collection && ((Collection ) o).isEmpty()) { 79 return Boolean.TRUE; 80 } 81 82 85 if (o instanceof Map && ((Map ) o).isEmpty()) { 86 return Boolean.TRUE; 87 } 88 89 return Boolean.FALSE; 90 } 91 } 92 | Popular Tags |