package org.apereo.cas.web.flow; import org.springframework.binding.expression.EvaluationException; import org.springframework.binding.expression.support.AbstractGetValueExpression; import org.springframework.webflow.definition.registry.FlowDefinitionRegistry; /** * Creates a custom subflow expression. * * @author Misagh Moayyed * @since 4.2 */ public class BasicSubflowExpression extends AbstractGetValueExpression { private final String subflowId; private final FlowDefinitionRegistry flowDefinitionRegistry; /** * Instantiates a new Basic subflow expression. * * @param subflowId the subflow id */ BasicSubflowExpression(final String subflowId, final FlowDefinitionRegistry definitionRegistry) { this.subflowId = subflowId; this.flowDefinitionRegistry = definitionRegistry; } @Override public Object getValue(final Object context) throws EvaluationException { return this.flowDefinitionRegistry.getFlowDefinition(this.subflowId); } }