Class CCELResolver

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

public class CCELResolver extends jakarta.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(jakarta.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(jakarta.el.ValueExpression currentValueExpression)
    • passCurrentMethodExpressionBegin

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

      public static void passCurrentMethodExpressionEnd()
    • passCurrentValueExpressionEnd

      public static void passCurrentValueExpressionEnd()
    • getCurrentValueExpression

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

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

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

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

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

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

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

      public Iterator<FeatureDescriptor> getFeatureDescriptors(jakarta.el.ELContext arg0, Object arg1)
      Specified by:
      getFeatureDescriptors in class jakarta.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()