org.springframework.webflow.executor.jsf
Class DelegatingFlowVariableResolver

java.lang.Object
  extended by javax.faces.el.VariableResolver
      extended by org.springframework.webflow.executor.jsf.DelegatingFlowVariableResolver

public class DelegatingFlowVariableResolver
extends javax.faces.el.VariableResolver

Custom variable resolver that searches the current flow execution for variables to resolve. The search algorithm looks in flash scope first, then flow scope, then conversation scope. If no variable is found this resolver delegates to the next resolver in the chain. Suitable for use along side other variable resolvers to support EL binding expressions like {#bean.property} where "bean" could be a property in any supported scope. Consider combining use of this class with a Spring DelegatingVariableResolver to also support lazy-initialized binding variables managed by a Spring application context using custom bean scopes. Also consider such a Spring-backed managed bean facility as the sole-provider for centralized JSF managed bean references.

Author:
Keith Donald

Constructor Summary
DelegatingFlowVariableResolver(javax.faces.el.VariableResolver resolverDelegate)
          Create a new FlowExecutionVariableResolver, using the given original VariableResolver.
 
Method Summary
protected  javax.faces.el.VariableResolver getResolverDelegate()
          Return the original VariableResolver that this resolver delegates to.
 java.lang.Object resolveVariable(javax.faces.context.FacesContext context, java.lang.String name)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DelegatingFlowVariableResolver

public DelegatingFlowVariableResolver(javax.faces.el.VariableResolver resolverDelegate)
Create a new FlowExecutionVariableResolver, using the given original VariableResolver.

A JSF implementation will automatically pass its original resolver into the constructor of a configured resolver, provided that there is a corresponding constructor argument.

Parameters:
resolverDelegate - the original VariableResolver
Method Detail

getResolverDelegate

protected final javax.faces.el.VariableResolver getResolverDelegate()
Return the original VariableResolver that this resolver delegates to.


resolveVariable

public java.lang.Object resolveVariable(javax.faces.context.FacesContext context,
                                        java.lang.String name)
                                 throws javax.faces.el.EvaluationException
Specified by:
resolveVariable in class javax.faces.el.VariableResolver
Throws:
javax.faces.el.EvaluationException


Copyright © 2004-2007. All Rights Reserved.