private static Object boxLiteral(ExprNodeConstantDesc lit) { switch (getType(lit)) { case INTEGER: return ((Number) lit.getValue()).intValue(); case LONG: return ((Number) lit.getValue()).longValue(); case STRING: return StringUtils.stripEnd(lit.getValue().toString(), null); case FLOAT: return Double.parseDouble(lit.getValue().toString()); case DATE: case TIMESTAMP: case DECIMAL: case BOOLEAN: return lit; default: throw new IllegalArgumentException("Unknown literal " + getType(lit)); } }
return new ExpressionTree(TruthValue.YES_NO_NULL); PredicateLeaf.Type type = getType(expression.getChildren().get(variable)); if (type == null) { return new ExpressionTree(TruthValue.YES_NO_NULL);