@Override TemplateModel _eval(Environment env) throws TemplateException { boolean lho = target.evalToBoolean(env); return (lho ? whenTrueExp : whenFalseExp).evalToNonMissing(env); }
@Override TemplateModel _eval(Environment env) throws TemplateException { TemplateModel targetValue = target.evalToNonMissing(env); List parameters = this.parameters; int paramCnt = parameters.size(); for (int i = 0; i + 1 < paramCnt; i += 2) { Expression caseExp = (Expression) parameters.get(i); TemplateModel caseValue = caseExp.evalToNonMissing(env); if (EvalUtil.compare( targetValue, target, EvalUtil.CMP_OP_EQUALS, "==", caseValue, caseExp, this, true, false, false, false, env)) { return ((Expression) parameters.get(i + 1)).evalToNonMissing(env); } } if (paramCnt % 2 == 0) { throw new _MiscTemplateException(target, "The value before ?", key, "(case1, value1, case2, value2, ...) didn't match any of the " + "case parameters, and there was no default value parameter (an additional last parameter) " + "eithter. "); } return ((Expression) parameters.get(paramCnt - 1)).evalToNonMissing(env); }
@Override TemplateModel _eval(Environment env) throws TemplateException { boolean lho = target.evalToBoolean(env); return (lho ? whenTrueExp : whenFalseExp).evalToNonMissing(env); }
@Override TemplateModel _eval(Environment env) throws TemplateException { boolean lho = target.evalToBoolean(env); return (lho ? whenTrueExp : whenFalseExp).evalToNonMissing(env); }
@Override TemplateModel _eval(Environment env) throws TemplateException { TemplateModel targetValue = target.evalToNonMissing(env); List parameters = this.parameters; int paramCnt = parameters.size(); for (int i = 0; i + 1 < paramCnt; i += 2) { Expression caseExp = (Expression) parameters.get(i); TemplateModel caseValue = caseExp.evalToNonMissing(env); if (EvalUtil.compare( targetValue, target, EvalUtil.CMP_OP_EQUALS, "==", caseValue, caseExp, this, true, false, false, false, env)) { return ((Expression) parameters.get(i + 1)).evalToNonMissing(env); } } if (paramCnt % 2 == 0) { throw new _MiscTemplateException(target, "The value before ?", key, "(case1, value1, case2, value2, ...) didn't match any of the " + "case parameters, and there was no default value parameter (an additional last parameter) " + "eithter. "); } return ((Expression) parameters.get(paramCnt - 1)).evalToNonMissing(env); }
@Override TemplateModel _eval(Environment env) throws TemplateException { TemplateModel targetValue = target.evalToNonMissing(env); List parameters = this.parameters; int paramCnt = parameters.size(); for (int i = 0; i + 1 < paramCnt; i += 2) { Expression caseExp = (Expression) parameters.get(i); TemplateModel caseValue = caseExp.evalToNonMissing(env); if (EvalUtil.compare( targetValue, target, EvalUtil.CMP_OP_EQUALS, "==", caseValue, caseExp, this, true, false, false, false, env)) { return ((Expression) parameters.get(i + 1)).evalToNonMissing(env); } } if (paramCnt % 2 == 0) { throw new _MiscTemplateException(target, "The value before ?", key, "(case1, value1, case2, value2, ...) didn't match any of the " + "case parameters, and there was no default value parameter (an additional last parameter) " + "eithter. "); } return ((Expression) parameters.get(paramCnt - 1)).evalToNonMissing(env); }