org.eclnt.jsfserver.util

## Class CCELResolver

- java.lang.Object
- - ELResolver
  - - org.eclnt.jsfserver.util.CCELResolver

-     public class CCELResolver
      extends 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...

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `CCELResolver.DefaultCCELResolverListener` Default implementation with "empty code".
    `static interface` | `CCELResolver.ICCELResolverListener` Notification of certain events within the resolving of expressions...

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CCELResolver()` Sepcial constructor to be used in mini server environment.
    `CCELResolver(ELResolver delegateTo)` Default constructor to be used in normal Servelt/JSF environment.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static boolean` | `checkIfThreandWithErrorFalse()`
    `static void` | `defineInstanceToBeUsed(java.lang.String name, java.lang.Object instance)` Allows to set a managed bean at runtime.
    `java.lang.Class<?>` | `getCommonPropertyType(ELContext arg0, java.lang.Object arg1)`
    `java.util.Iterator<java.beans.FeatureDescriptor>` | `getFeatureDescriptors(ELContext arg0, java.lang.Object arg1)`
    `java.lang.Class<?>` | `getType(ELContext context, java.lang.Object base, java.lang.Object property)`
    `java.lang.Object` | `getValue(ELContext context, java.lang.Object base, java.lang.Object property)`
    `static void` | `initListener(CCELResolver.ICCELResolverListener listener)`
    `boolean` | `isReadOnly(ELContext arg0, java.lang.Object arg1, java.lang.Object arg2)`
    `static void` | `passCurrentValueExpression(ValueExpression currentValueExpression)`
    `static void` | `registerThreadWithErrorFalse()`
    `void` | `setValue(ELContext context, java.lang.Object base, java.lang.Object property, java.lang.Object value)`
    `static void` | `unregisterThreadWithErrorFalse()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### CCELResolver

          public CCELResolver(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 Detail

    - #### initListener

          public static void initListener(CCELResolver.ICCELResolverListener listener)

    - #### passCurrentValueExpression

          public static void passCurrentValueExpression(ValueExpression currentValueExpression)

    - #### getType

          public java.lang.Class<?> getType(ELContext context,
                                            java.lang.Object base,
                                            java.lang.Object property)
                                     throws java.lang.NullPointerException,
                                            PropertyNotFoundException,
                                            ELException

      Throws:
        `java.lang.NullPointerException`
        `PropertyNotFoundException`
        `ELException`

    - #### getValue

          public java.lang.Object getValue(ELContext context,
                                           java.lang.Object base,
                                           java.lang.Object property)
                                    throws java.lang.NullPointerException,
                                           PropertyNotFoundException,
                                           ELException

      Throws:
        `java.lang.NullPointerException`
        `PropertyNotFoundException`
        `ELException`

    - #### setValue

          public void setValue(ELContext context,
                               java.lang.Object base,
                               java.lang.Object property,
                               java.lang.Object value)
                        throws java.lang.NullPointerException,
                               PropertyNotFoundException,
                               PropertyNotWritableException,
                               ELException

      Throws:
        `java.lang.NullPointerException`
        `PropertyNotFoundException`
        `PropertyNotWritableException`
        `ELException`

    - #### isReadOnly

          public boolean isReadOnly(ELContext arg0,
                                    java.lang.Object arg1,
                                    java.lang.Object arg2)
                             throws java.lang.NullPointerException,
                                    PropertyNotFoundException,
                                    ELException

      Throws:
        `java.lang.NullPointerException`
        `PropertyNotFoundException`
        `ELException`

    - #### getCommonPropertyType

          public java.lang.Class<?> getCommonPropertyType(ELContext arg0,
                                                          java.lang.Object arg1)

    - #### getFeatureDescriptors

          public java.util.Iterator<java.beans.FeatureDescriptor> getFeatureDescriptors(ELContext arg0,
                                                                                        java.lang.Object arg1)

    - #### defineInstanceToBeUsed

          public static void defineInstanceToBeUsed(java.lang.String name,
                                                    java.lang.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()

Copyright © CaptainCasa Gmbh. All Rights Reserved.