Spring Web Flow

org.springframework.faces.webflow
Class JsfManagedBeanPropertyAccessor

java.lang.Object
  extended by org.springframework.faces.webflow.JsfManagedBeanPropertyAccessor
All Implemented Interfaces:
org.springframework.expression.PropertyAccessor

public class JsfManagedBeanPropertyAccessor
extends java.lang.Object
implements org.springframework.expression.PropertyAccessor

Spring EL PropertyAccessor that checks request, session, and application scopes for existing JSF-managed beans. This allows traditional JSF-managed beans (defined in faces-config.xml) to be resolved through expressions in a flow definition.

The preferred approach is to instead use Spring to configure such beans, but this is meant to ease migration for users with existing JSF artifacts. This resolver will delegate to a temporary FacesContext so that JSF managed bean initialization will be triggered if the bean has not already been initialized by JSF.

Source code adapted from JsfManagedBeanResolver.

Since:
2.1
Author:
Jeremy Grelle, Rossen Stoyanchev

Constructor Summary
JsfManagedBeanPropertyAccessor()
           
 
Method Summary
 boolean canRead(org.springframework.expression.EvaluationContext context, java.lang.Object target, java.lang.String name)
           
 boolean canWrite(org.springframework.expression.EvaluationContext context, java.lang.Object target, java.lang.String name)
           
 java.lang.Class<?>[] getSpecificTargetClasses()
           
 org.springframework.expression.TypedValue read(org.springframework.expression.EvaluationContext context, java.lang.Object target, java.lang.String name)
           
 void write(org.springframework.expression.EvaluationContext context, java.lang.Object target, java.lang.String name, java.lang.Object newValue)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JsfManagedBeanPropertyAccessor

public JsfManagedBeanPropertyAccessor()
Method Detail

getSpecificTargetClasses

public java.lang.Class<?>[] getSpecificTargetClasses()
Specified by:
getSpecificTargetClasses in interface org.springframework.expression.PropertyAccessor

canRead

public boolean canRead(org.springframework.expression.EvaluationContext context,
                       java.lang.Object target,
                       java.lang.String name)
                throws org.springframework.expression.AccessException
Specified by:
canRead in interface org.springframework.expression.PropertyAccessor
Throws:
org.springframework.expression.AccessException

read

public org.springframework.expression.TypedValue read(org.springframework.expression.EvaluationContext context,
                                                      java.lang.Object target,
                                                      java.lang.String name)
                                               throws org.springframework.expression.AccessException
Specified by:
read in interface org.springframework.expression.PropertyAccessor
Throws:
org.springframework.expression.AccessException

canWrite

public boolean canWrite(org.springframework.expression.EvaluationContext context,
                        java.lang.Object target,
                        java.lang.String name)
                 throws org.springframework.expression.AccessException
Specified by:
canWrite in interface org.springframework.expression.PropertyAccessor
Throws:
org.springframework.expression.AccessException

write

public void write(org.springframework.expression.EvaluationContext context,
                  java.lang.Object target,
                  java.lang.String name,
                  java.lang.Object newValue)
           throws org.springframework.expression.AccessException
Specified by:
write in interface org.springframework.expression.PropertyAccessor
Throws:
org.springframework.expression.AccessException

Spring Web Flow