org.apache.myfaces.extensions.validator.core.el
Class ExtValELResolver

java.lang.Object
  extended by javax.el.ELResolver
      extended by org.apache.myfaces.extensions.validator.core.el.ExtValELResolver

public class ExtValELResolver
extends javax.el.ELResolver

Since:
1.x.1

Field Summary
protected  Logger logger
           
 
Fields inherited from class javax.el.ELResolver
RESOLVABLE_AT_DESIGN_TIME, TYPE
 
Constructor Summary
ExtValELResolver(javax.el.ELResolver elResolver, boolean projectStageDevelopment)
           
 
Method Summary
static javax.el.ELContext createContextWrapper(javax.el.ELContext context, javax.el.ELResolver resolver)
           
 Object getBaseObject()
           
 Class<?> getCommonPropertyType(javax.el.ELContext elContext, Object o)
           
 Iterator<FeatureDescriptor> getFeatureDescriptors(javax.el.ELContext elContext, Object o)
           
 String getPath()
           
 String getProperty()
           
 Class<?> getType(javax.el.ELContext elContext, Object o, Object o1)
           
 Object getValue(javax.el.ELContext elContext, Object base, Object property)
          path recording is performed to get a key for cross-validation
every base after the first call which is null stops recording
with a dynamic map syntax the last property in the middle of an expression has to be a string.
 boolean isReadOnly(javax.el.ELContext elContext, Object o, Object o1)
           
 void reset()
           
 void setValue(javax.el.ELContext elContext, Object o, Object o1, Object o2)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected final Logger logger
Constructor Detail

ExtValELResolver

public ExtValELResolver(javax.el.ELResolver elResolver,
                        boolean projectStageDevelopment)
Method Detail

getBaseObject

public Object getBaseObject()

getProperty

public String getProperty()

getPath

public String getPath()

reset

public void reset()

getValue

public Object getValue(javax.el.ELContext elContext,
                       Object base,
                       Object property)
path recording is performed to get a key for cross-validation
every base after the first call which is null stops recording
with a dynamic map syntax the last property in the middle of an expression has to be a string. such a string result continues the path recording at the next call for the current expression.

example: #{bean[bean.propertyNameProvider['nameOfProperty1']]['dynBean'].property}

limitation for cross-validation: nameOfProperty1 has to be of type string. other key types aren't supported yet

Specified by:
getValue in class javax.el.ELResolver
Parameters:
elContext - wrapped el-context
base - current base
property - property to resolve
Returns:
result of the delegated method call

getType

public Class<?> getType(javax.el.ELContext elContext,
                        Object o,
                        Object o1)
Specified by:
getType in class javax.el.ELResolver

setValue

public void setValue(javax.el.ELContext elContext,
                     Object o,
                     Object o1,
                     Object o2)
Specified by:
setValue in class javax.el.ELResolver

isReadOnly

public boolean isReadOnly(javax.el.ELContext elContext,
                          Object o,
                          Object o1)
Specified by:
isReadOnly in class javax.el.ELResolver

getFeatureDescriptors

public Iterator<FeatureDescriptor> getFeatureDescriptors(javax.el.ELContext elContext,
                                                         Object o)
Specified by:
getFeatureDescriptors in class javax.el.ELResolver

getCommonPropertyType

public Class<?> getCommonPropertyType(javax.el.ELContext elContext,
                                      Object o)
Specified by:
getCommonPropertyType in class javax.el.ELResolver

createContextWrapper

public static javax.el.ELContext createContextWrapper(javax.el.ELContext context,
                                                      javax.el.ELResolver resolver)


Copyright © 2008-2012 The Apache Software Foundation. All Rights Reserved.