public Object eval(SQLEvalVisitor visitor, SQLMethodInvokeExpr x) { StringBuilder buf = new StringBuilder(); for (SQLExpr item : x.getParameters()) { item.accept(visitor); Object itemValue = item.getAttributes().get(EVAL_VALUE); if (itemValue == null) { return null; } buf.append(itemValue.toString()); } return buf.toString(); } }
public Object eval(SQLEvalVisitor visitor, SQLMethodInvokeExpr x) { if (x.getParameters().size() != 1) { return SQLEvalVisitor.EVAL_ERROR; } SQLExpr param0 = x.getParameters().get(0); param0.accept(visitor); Object param0Value = param0.getAttributes().get(EVAL_VALUE); if (param0Value == null) { return SQLEvalVisitor.EVAL_ERROR; } String strValue = param0Value.toString(); String result = strValue.trim(); return result; } }
public Object eval(SQLEvalVisitor visitor, SQLMethodInvokeExpr x) { if (x.getParameters().size() != 1) { return SQLEvalVisitor.EVAL_ERROR; } SQLExpr param0 = x.getParameters().get(0); param0.accept(visitor); Object param0Value = param0.getAttributes().get(EVAL_VALUE); if (param0Value == null) { return SQLEvalVisitor.EVAL_ERROR; } String strValue = param0Value.toString(); String result = strValue.toUpperCase(); return result; } }
public Object eval(SQLEvalVisitor visitor, SQLMethodInvokeExpr x) { if (x.getParameters().size() != 1) { return SQLEvalVisitor.EVAL_ERROR; } SQLExpr param0 = x.getParameters().get(0); param0.accept(visitor); Object param0Value = param0.getAttributes().get(EVAL_VALUE); if (param0Value == null) { return SQLEvalVisitor.EVAL_ERROR; } String strValue = param0Value.toString(); int result = strValue.length(); return result; } }
public Object eval(SQLEvalVisitor visitor, SQLMethodInvokeExpr x) { if (x.getParameters().size() != 1) { return SQLEvalVisitor.EVAL_ERROR; } SQLExpr param0 = x.getParameters().get(0); param0.accept(visitor); Object param0Value = param0.getAttributes().get(EVAL_VALUE); if (param0Value == null) { return SQLEvalVisitor.EVAL_ERROR; } String strValue = param0Value.toString(); String result = strValue.toLowerCase(); return result; } }
public Object eval(SQLEvalVisitor visitor, SQLMethodInvokeExpr x) { if (x.getParameters().size() != 1) { return SQLEvalVisitor.EVAL_ERROR; } SQLExpr param0 = x.getParameters().get(0); param0.accept(visitor); Object param0Value = param0.getAttributes().get(EVAL_VALUE); if (param0Value == null) { return SQLEvalVisitor.EVAL_ERROR; } String strValue = param0Value.toString(); StringBuilder buf = new StringBuilder(); for (int i = strValue.length() - 1; i >= 0; --i) { buf.append(strValue.charAt(i)); } String result = buf.toString(); return result; } }
public Object eval(SQLEvalVisitor visitor, SQLMethodInvokeExpr x) { final List<SQLExpr> parameters = x.getParameters(); if (parameters.size() == 0) { return EVAL_ERROR; } SQLExpr condition = parameters.get(0); condition.accept(visitor); Object itemValue = condition.getAttributes().get(EVAL_VALUE); if (itemValue == EVAL_VALUE_NULL) { return Boolean.TRUE; } else if (itemValue == null) { return null; } else { return Boolean.FALSE; } } }
public Object eval(SQLEvalVisitor visitor, SQLMethodInvokeExpr x) { if (x.getParameters().size() != 1) { return SQLEvalVisitor.EVAL_ERROR; } SQLExpr param0 = x.getParameters().get(0); param0.accept(visitor); Object param0Value = param0.getAttributes().get(EVAL_VALUE); if (param0Value == null) { return SQLEvalVisitor.EVAL_ERROR; } if (param0Value instanceof String) { return ((String) param0Value).getBytes().length * 8; } return SQLEvalVisitor.EVAL_ERROR; } }
public Object eval(SQLEvalVisitor visitor, SQLMethodInvokeExpr x) { if (x.getParameters().size() != 1) { return SQLEvalVisitor.EVAL_ERROR; } SQLExpr param0 = x.getParameters().get(0); param0.accept(visitor); Object param0Value = param0.getAttributes().get(EVAL_VALUE); if (param0Value == null) { return SQLEvalVisitor.EVAL_ERROR; } if (param0Value instanceof Number) { long longValue = ((Number) param0Value).longValue(); String result = Long.toString(longValue, 2); return result; } return SQLEvalVisitor.EVAL_ERROR; } }
public Object eval(SQLEvalVisitor visitor, SQLMethodInvokeExpr x) { final List<SQLExpr> parameters = x.getParameters(); if (parameters.size() == 0) { return EVAL_ERROR; } SQLExpr condition = parameters.get(0); condition.accept(visitor); Object itemValue = condition.getAttributes().get(EVAL_VALUE); if (itemValue == null) { return null; } if (Boolean.TRUE == itemValue || !SQLEvalVisitorUtils.eq(itemValue, 0)) { SQLExpr trueExpr = parameters.get(1); trueExpr.accept(visitor); return trueExpr.getAttributes().get(EVAL_VALUE); } else { SQLExpr falseExpr = parameters.get(2); falseExpr.accept(visitor); return falseExpr.getAttributes().get(EVAL_VALUE); } } }
public Object eval(SQLEvalVisitor visitor, SQLMethodInvokeExpr x) { if (x.getParameters().size() != 2) { return SQLEvalVisitor.EVAL_ERROR; } SQLExpr param0 = x.getParameters().get(0); SQLExpr param1 = x.getParameters().get(1); param0.accept(visitor); param1.accept(visitor); Object param0Value = param0.getAttributes().get(EVAL_VALUE); Object param1Value = param1.getAttributes().get(EVAL_VALUE); if (param0Value == null || param1Value == null) { return SQLEvalVisitor.EVAL_ERROR; } String strValue0 = param0Value.toString(); String strValue1 = param1Value.toString(); int result = strValue0.indexOf(strValue1) + 1; return result; } }
public Object eval(SQLEvalVisitor visitor, SQLMethodInvokeExpr x) { if (x.getParameters().size() == 0) { return SQLEvalVisitor.EVAL_ERROR; } SQLExpr param = x.getParameters().get(0); param.accept(visitor); Object paramValue = param.getAttributes().get(EVAL_VALUE); if (paramValue == null) { return SQLEvalVisitor.EVAL_ERROR; } if (paramValue == EVAL_VALUE_NULL) { return EVAL_VALUE_NULL; } String strValue = paramValue.toString(); if (strValue.length() == 0) { return 0; } int ascii = strValue.charAt(0); return ascii; } }
public Object eval(SQLEvalVisitor visitor, SQLMethodInvokeExpr x) { if (x.getParameters().size() == 0) { return SQLEvalVisitor.EVAL_ERROR; } StringBuffer buf = new StringBuffer(x.getParameters().size()); for (SQLExpr param : x.getParameters()) { param.accept(visitor); Object paramValue = param.getAttributes().get(EVAL_VALUE); if (paramValue instanceof Number) { int charCode = ((Number) paramValue).intValue(); buf.append((char) charCode); } else if (paramValue instanceof String) { try { int charCode = new BigDecimal((String) paramValue).intValue(); buf.append((char) charCode); } catch (NumberFormatException e) { } } else { return SQLEvalVisitor.EVAL_ERROR; } } return buf.toString(); } }
public Object eval(SQLEvalVisitor visitor, SQLMethodInvokeExpr x) { if (x.getParameters().size() != 2) { return SQLEvalVisitor.EVAL_ERROR; } SQLExpr param0 = x.getParameters().get(0); SQLExpr param1 = x.getParameters().get(1); param0.accept(visitor); param1.accept(visitor); Object param0Value = param0.getAttributes().get(EVAL_VALUE); Object param1Value = param1.getAttributes().get(EVAL_VALUE); if (param0Value == null || param1Value == null) { return SQLEvalVisitor.EVAL_ERROR; } String strValue = param0Value.toString(); int intValue = SQLEvalVisitorUtils.castToInteger(param1Value); int start = strValue.length() - intValue; if (start < 0) { start = 0; } String result = strValue.substring(start, strValue.length()); return result; } }
public Object eval(SQLEvalVisitor visitor, SQLMethodInvokeExpr x) { if (x.getParameters().size() <= 1) { return SQLEvalVisitor.EVAL_ERROR; } SQLExpr param0 = x.getParameters().get(0); param0.accept(visitor); Object param0Value = param0.getAttributes().get(EVAL_VALUE); int param0IntValue; if (!(param0Value instanceof Number)) { return SQLEvalVisitor.EVAL_ERROR; } param0IntValue = ((Number) param0Value).intValue(); if (param0IntValue >= x.getParameters().size()) { return null; } SQLExpr item = x.getParameters().get(param0IntValue); item.accept(visitor); Object itemValue = item.getAttributes().get(EVAL_VALUE); return itemValue; } }
public Object eval(SQLEvalVisitor visitor, SQLMethodInvokeExpr x) { if (x.getParameters().size() != 2) { return SQLEvalVisitor.EVAL_ERROR; } SQLExpr param0 = x.getParameters().get(0); SQLExpr param1 = x.getParameters().get(1); param0.accept(visitor); param1.accept(visitor); Object param0Value = param0.getAttributes().get(EVAL_VALUE); Object param1Value = param1.getAttributes().get(EVAL_VALUE); if (param0Value == null || param1Value == null) { return SQLEvalVisitor.EVAL_ERROR; } String strValue = param0Value.toString(); int intValue = SQLEvalVisitorUtils.castToInteger(param1Value); if (intValue > strValue.length()) { return SQLEvalVisitor.EVAL_ERROR; } String result = strValue.substring(0, intValue); return result; } }
public Object eval(SQLEvalVisitor visitor, SQLMethodInvokeExpr x) { Object result = null; for (SQLExpr item : x.getParameters()) { item.accept(visitor); Object itemValue = item.getAttributes().get(EVAL_VALUE); if (result == null) { result = itemValue; } else { if (SQLEvalVisitorUtils.lt(itemValue, result)) { result = itemValue; } } } return result; } }
public Object eval(SQLEvalVisitor visitor, SQLMethodInvokeExpr x) { Object result = null; for (SQLExpr item : x.getParameters()) { item.accept(visitor); Object itemValue = item.getAttributes().get(EVAL_VALUE); if (result == null) { result = itemValue; } else { if (SQLEvalVisitorUtils.gt(itemValue, result)) { result = itemValue; } } } return result; } }
public Object eval(SQLEvalVisitor visitor, SQLMethodInvokeExpr x) { if (x.getParameters().size() != 1) { throw new ParserException("argument's != 1, " + x.getParameters().size()); } SQLExpr param0 = x.getParameters().get(0); param0.accept(visitor); Object param0Value = param0.getAttributes().get(EVAL_VALUE); if (param0Value == null) { return SQLEvalVisitor.EVAL_ERROR; } if (param0Value instanceof String) { byte[] bytes = ((String) param0Value).getBytes(); String result = HexBin.encode(bytes); return result; } if (param0Value instanceof Number) { long value = ((Number) param0Value).longValue(); String result = Long.toHexString(value).toUpperCase(); return result; } return SQLEvalVisitor.EVAL_ERROR; } }
public static boolean visit(SQLEvalVisitor visitor, SQLInListExpr x) { SQLExpr valueExpr = x.getExpr(); valueExpr.accept(visitor); if (!valueExpr.getAttributes().containsKey(EVAL_VALUE)) { return false; } Object value = valueExpr.getAttribute(EVAL_VALUE); for (SQLExpr item : x.getTargetList()) { item.accept(visitor); if (!item.getAttributes().containsKey(EVAL_VALUE)) { return false; } Object itemValue = item.getAttribute(EVAL_VALUE); if (eq(value, itemValue)) { x.getAttributes().put(EVAL_VALUE, x.isNot() ? false : true); return false; } } x.getAttributes().put(EVAL_VALUE, x.isNot() ? true : false); return false; }