/** * Hook method subclasses can override to return a specialized expression evaluating transition criteria * implementation. * @param expression the expression to evaluate * @return the transition criteria object * @throws ConversionException when something goes wrong */ protected TransitionCriteria createBooleanExpressionTransitionCriteria(Expression expression) throws ConversionException { return new BooleanExpressionTransitionCriteria(expression); } }
public boolean test(RequestContext context) { Object result = booleanExpression.evaluate(context, getEvaluationContext(context)); Assert.isInstanceOf(Boolean.class, result, "Impossible to determine result of boolean expression: "); return ((Boolean) result).booleanValue(); }
private Transition parseThen(Element element) { Expression expression = getLocalFlowServiceLocator().getExpressionParser().parseExpression( element.getAttribute(TEST_ATTRIBUTE)); TransitionCriteria matchingCriteria = new BooleanExpressionTransitionCriteria(expression); TargetStateResolver targetStateResolver = (TargetStateResolver) fromStringTo(TargetStateResolver.class) .execute(element.getAttribute(THEN_ATTRIBUTE)); return getFlowArtifactFactory().createTransition(targetStateResolver, matchingCriteria, null, null); }