@Override public ExprValue getValue(DataProvider provider) { return new ExprValue(value); }
@Override public ExprValue getValue(DataProvider provider){ return new ExprValue(value); }
@Override public ExprValue getValue(DataProvider provider){ return new ExprValue(value); }
@Override public ExprValue getValue(DataProvider provider){ return new ExprValue(value); }
@Override public ExprValue getValue(DataProvider provider){ if (provider == null){ throw new FormulaException("Data provider is null,can not get value of " + varName); } if (varContext == null){ varContext = provider.getContext(varName); } String value = provider.getValue(varName, varContext, null); return value != null ? new ExprValue(value): null; }
public ExprValue getValue(DataProvider provider) throws FormulaException { if (getArgumentCount() != 1){ throw new FormulaException("to_long function need 1 argument."); } String value = getArgument(0).getValue(provider).getString(); return new ExprValue(Long.valueOf(value)); } }
public ExprValue getValue(DataProvider provider) throws FormulaException { if (getArgumentCount() != 1){ throw new FormulaException("to_double function need 1 argument."); } String value = getArgument(0).getValue(provider).getString(); return new ExprValue(Double.valueOf(value)); } }
public ExprValue getValue(DataProvider provider) throws FormulaException { if (getArgumentCount() != 1){ throw new FormulaException("strlen function need 1 argument."); } String value = getArgument(0).getValue(provider).toString(); return new ExprValue(value.length()); } }
public ExprValue getValue(DataProvider provider) throws FormulaException { if (getArgumentCount() != 3){ throw new FormulaException("substr function need 3 argument."); } String string = getArgument(0).getValue(provider).getString(); int startOffset = getArgument(1).getValue(provider).getInt(); int length = getArgument(2).getValue(provider).getInt(); startOffset = startOffset < 0 ? 0 : startOffset >= string.length()?string.length() - 1:startOffset; length = string.length() - startOffset < length ? string.length() - startOffset:length; return new ExprValue(string.substring(startOffset, startOffset + length)); } }
public ExprValue getValue(DataProvider provider) throws FormulaException { if (getArgumentCount() != 1){ throw new FormulaException("to_string function need 1 argument."); } String value = getArgument(0).getValue(provider).toString(); return new ExprValue(value); } }
public ExprValue getValue(DataProvider provider) throws FormulaException { if (getArgumentCount() != 2){ throw new FormulaException("substr function need 2 argument."); } String srcString = getArgument(0).getValue(provider).getString(); String childString = getArgument(1).getValue(provider).getString(); return new ExprValue(srcString.indexOf(childString)); } }
switch (operator) { case OP_Greater: return new ExprValue(left.getValue(provider).compareTo( right.getValue(provider)) > 0); case OP_Greater_Equal: return new ExprValue(left.getValue(provider).compareTo( right.getValue(provider)) >= 0); case OP_Equal: return new ExprValue(left.getValue(provider).compareTo( right.getValue(provider)) == 0); case OP_Not_Equal: return new ExprValue(left.getValue(provider).compareTo( right.getValue(provider)) != 0); case OP_Less: return new ExprValue(left.getValue(provider).compareTo( right.getValue(provider)) < 0); case OP_Less_Equal: return new ExprValue(left.getValue(provider).compareTo( right.getValue(provider)) <= 0); case OP_Or: return new ExprValue(left.getValue(provider).getBoolean() || right.getValue(provider).getBoolean()); case OP_And: return new ExprValue(left.getValue(provider).getBoolean() && right.getValue(provider).getBoolean()); default:
public ExprValue getValue(DataProvider provider) throws FormulaException { if (getArgumentCount() != 2){ throw new FormulaException("match function need 2 argument."); } String srcString = getArgument(0).getValue(provider).getString(); String regex = getArgument(1).getValue(provider).getString(); return new ExprValue(srcString.matches(regex)); } }
@Override public ExprValue getValue(DataProvider provider) throws FormulaException { if (getArgumentCount() != 2){ throw new FormulaException("not_nvl function need 2 arguments.we have " + getArgumentCount()); } ExprValue value = getArgument(0).getValue(provider); if (value != null){ value = getArgument(1).getValue(provider); } if (value == null){ value = new ExprValue(""); } return value; } }
public ExprValue getValue(DataProvider provider) throws FormulaException { if (getArgumentCount() < 1){ throw new FormulaException("to_date function need at least 1 argument.we have " + getArgumentCount()); } String pattern = "yyyyMMddHHmmss"; if (getArgument(1) != null){ pattern = getArgument(1).getValue(provider).getString(); } String value = getArgument(0).getValue(provider).getString(); return new ExprValue(DateUtil.parseDate(value, pattern)); } }
public ExprValue getValue(DataProvider provider) throws FormulaException { if (getArgumentCount() < 1){ throw new FormulaException("to_char function need at least 1 argument.we have " + getArgumentCount()); } String pattern = "yyyyMMddHHmmss"; if (getArgument(1) != null){ pattern = getArgument(1).getValue(provider).getString(); } Date value = getArgument(0).getValue(provider).getDate(); return new ExprValue(DateUtil.formatDate(value, pattern)); } }
@Override public ExprValue getValue(DataProvider provider) throws FormulaException { int arguCnt = getArgumentCount(); if (arguCnt > 2 || arguCnt <= 0) { throw new FormulaException( "bind function need 1 argument.we have " + arguCnt); } ExprValue value = getArgument(0).getValue(provider); String varName = value.toString(); if (varContext == null) { varContext = provider.getContext(varName); } String object = provider.getValue(varName, varContext, ""); bind(object); if (arguCnt <= 1){ return new ExprValue("?"); }else{ return getArgument(1).getValue(provider); } } }
@Override public ExprValue getValue(DataProvider provider) throws FormulaException { int arguCnt = getArgumentCount(); if (arguCnt > 2 || arguCnt <= 0) { throw new FormulaException( "bind function need 1 argument.we have " + arguCnt); } ExprValue value = getArgument(0).getValue(provider); String varName = value.toString(); if (varContext == null) { varContext = provider.getContext(varName); } String object = provider.getRawValue(varName, varContext, ""); bind(object); if (arguCnt <= 1){ return new ExprValue("?"); }else{ return getArgument(1).getValue(provider); } } }
@Override public ExprValue getValue(DataProvider provider) throws FormulaException { int arguCnt = getArgumentCount(); ExprValue bindValue = null; if (arguCnt <= 0){ bindValue = new ExprValue("?"); }else{ bindValue = getArgument(0).getValue(provider); if (arguCnt <= 1){ bind(KeyGen.uuid()); }else{ if (arguCnt <= 2){ int length = getArgument(1).getValue(provider).getInt(); bind(KeyGen.uuid(length, 0)); }else{ int length = getArgument(1).getValue(provider).getInt(); int redix = getArgument(2).getValue(provider).getInt(); bind(KeyGen.uuid(length, redix)); } } } return bindValue; } }