Class CCELResolver

java.lang.Object
javax.el.ELResolver
org.eclnt.jsfserver.util.CCELResolver

public class CCELResolver extends javax.el.ELResolver
This class wraps the default expression resolver in order to wrap the getting/setting functions with some additional functions.

(1.) Interface IPropertyTypeResolver during getType(..) call.
(2.) Interface IAcceleratedPropertyAccess during getValue(..) call.
(3.) Hot Deployment Management.
(4.) Possibility to (re-) set a managed bean at runtime.
(5.) Before setting property values the interface IPropertyValueConverter is called, if available.


The functions of this class were part of the CaptainCasa-specific variable and property resolver with JSF 1.1 - due to changed from JSF 1.1 to JSF 1.2 they were shifted into this class...
  • Constructor Details

    • CCELResolver

      public CCELResolver(javax.el.ELResolver delegateTo)
      Default constructor to be used in normal Servelt/JSF environment.
    • CCELResolver

      public CCELResolver()
      Sepcial constructor to be used in mini server environment. In this scenario there is no delegation possibility. And in this scenario all expressions need to be resolved through the CCELResolver (i.e. there is NO resolution of e.g. "d" by the resolver of the servlet/JSF environment.
  • Method Details

    • initListener

      public static void initListener(CCELResolver.ICCELResolverListener listener)
    • passCurrentValueExpressionBegin

      public static void passCurrentValueExpressionBegin(javax.el.ValueExpression currentValueExpression)
    • passCurrentMethodExpressionBegin

      public static void passCurrentMethodExpressionBegin(javax.el.MethodExpression currentMethodExpression)
    • passCurrentMethodExpressionEnd

      public static void passCurrentMethodExpressionEnd()
    • passCurrentValueExpressionEnd

      public static void passCurrentValueExpressionEnd()
    • getCurrentValueExpression

      public static javax.el.ValueExpression getCurrentValueExpression()
    • getCurrentMethodExpression

      public static javax.el.MethodExpression getCurrentMethodExpression()
    • getType

      public Class<?> getType(javax.el.ELContext context, Object base, Object property) throws NullPointerException, javax.el.PropertyNotFoundException, javax.el.ELException
      Specified by:
      getType in class javax.el.ELResolver
      Throws:
      NullPointerException
      javax.el.PropertyNotFoundException
      javax.el.ELException
    • getValue

      public Object getValue(javax.el.ELContext context, Object base, Object property) throws NullPointerException, javax.el.PropertyNotFoundException, javax.el.ELException
      Specified by:
      getValue in class javax.el.ELResolver
      Throws:
      NullPointerException
      javax.el.PropertyNotFoundException
      javax.el.ELException
    • setValue

      public void setValue(javax.el.ELContext context, Object base, Object property, Object value) throws NullPointerException, javax.el.PropertyNotFoundException, javax.el.PropertyNotWritableException, javax.el.ELException
      Specified by:
      setValue in class javax.el.ELResolver
      Throws:
      NullPointerException
      javax.el.PropertyNotFoundException
      javax.el.PropertyNotWritableException
      javax.el.ELException
    • isReadOnly

      public boolean isReadOnly(javax.el.ELContext arg0, Object arg1, Object arg2) throws NullPointerException, javax.el.PropertyNotFoundException, javax.el.ELException
      Specified by:
      isReadOnly in class javax.el.ELResolver
      Throws:
      NullPointerException
      javax.el.PropertyNotFoundException
      javax.el.ELException
    • getCommonPropertyType

      public Class<?> getCommonPropertyType(javax.el.ELContext arg0, Object arg1)
      Specified by:
      getCommonPropertyType in class javax.el.ELResolver
    • getFeatureDescriptors

      public Iterator<FeatureDescriptor> getFeatureDescriptors(javax.el.ELContext arg0, Object arg1)
      Specified by:
      getFeatureDescriptors in class javax.el.ELResolver
    • defineInstanceToBeUsed

      public static void defineInstanceToBeUsed(String name, Object instance)
      Allows to set a managed bean at runtime. This method may be used to explicitly reset central managed beans during runtime. E.g. you may exchange the central dispatcher object (typically "#{d}"), in case you use this dispatcher.
    • registerThreadWithErrorFalse

      public static void registerThreadWithErrorFalse()
    • unregisterThreadWithErrorFalse

      public static void unregisterThreadWithErrorFalse()
    • checkIfThreandWithErrorFalse

      public static boolean checkIfThreandWithErrorFalse()
    • resetBuffers

      public static void resetBuffers()