Class ELResolver

java.lang.Object
jakarta.el.ELResolver
Direct Known Subclasses:
ArrayELResolver, BeanELResolver, BeanNameELResolver, CompositeELResolver, ListELResolver, MapELResolver, ResourceBundleELResolver, StaticFieldELResolver, TypeConverter

public abstract class ELResolver extends Object
Author:
Jacob Hookom [jacob/hookom.net]
  • Field Details

  • Constructor Details

    • ELResolver

      public ELResolver()
  • Method Details

    • getValue

      public abstract Object getValue(ELContext context, Object base, Object property)
      Obtain the value of the given property on the given object using the given context.
      Parameters:
      context - The EL context for this evaluation
      base - The base object on which the property is to be found
      property - The property whose value is to be returned
      Returns:
      the value of the provided property
      Throws:
      NullPointerException - If the supplied context is null
      PropertyNotFoundException - If the base/property combination provided to the resolver is one that the resolver can handle but no match was found or a match was found but was not readable
      ELException - Wraps any exception throw whilst resolving the property
    • invoke

      public Object invoke(ELContext context, Object base, Object method, Class<?>[] paramTypes, Object[] params)
      Invokes a method on the the given object.
      Parameters:
      context - The EL context for this evaluation
      base - The base object on which the method is to be found
      method - The method to invoke
      paramTypes - The types of the parameters of the method to invoke
      params - The parameters with which to invoke the method
      Returns:
      This default implementation always returns null
      Since:
      EL 2.2
    • getType

      public abstract Class<?> getType(ELContext context, Object base, Object property)
      Obtain the most generally acceptable type that may be used to set the given property on the given object using the given context.
      Parameters:
      context - The EL context for this evaluation
      base - The base object on which the property is to be found
      property - The property whose type is to be returned
      Returns:
      the most general type that maybe used to set the provided property or null if the resolver is read-only.
      Throws:
      NullPointerException - If the supplied context is null
      PropertyNotFoundException - If the base/property combination provided to the resolver is one that the resolver can handle but no match was found or a match was found but was not readable
      ELException - Wraps any exception throw whilst resolving the property
    • setValue

      public abstract void setValue(ELContext context, Object base, Object property, Object value)
      Set the value of the given property on the given object using the given context.
      Parameters:
      context - The EL context for this evaluation
      base - The base object on which the property is to be found
      property - The property whose value is to be set
      value - The value to set the property to
      Throws:
      NullPointerException - If the supplied context is null
      PropertyNotFoundException - If the base/property combination provided to the resolver is one that the resolver can handle but no match was found
      PropertyNotWritableException - If the base/property combination provided to the resolver is one that the resolver can handle but the property was not writable
      ELException - Wraps any exception throw whilst resolving the property
    • isReadOnly

      public abstract boolean isReadOnly(ELContext context, Object base, Object property)
      Determine if the given property on the given object is read-only using the given context.
      Parameters:
      context - The EL context for this evaluation
      base - The base object on which the property is to be found
      property - The property to be checked for read only status
      Returns:
      true if the identified property is read only, otherwise false
      Throws:
      NullPointerException - If the supplied context is null
      PropertyNotFoundException - If the base/property combination provided to the resolver is one that the resolver can handle but no match was found
      ELException - Wraps any exception throw whilst resolving the property
    • getFeatureDescriptors

      @Deprecated(forRemoval=true, since="EL 5.0") public Iterator<FeatureDescriptor> getFeatureDescriptors(ELContext context, Object base)
      Deprecated, for removal: This API element is subject to removal in a future version.
      This method will be removed, without replacement, in EL 6.0 / Tomcat 11.
      Obtain the feature descriptors for the resolvable properties of the given object.

      The default implementation returns null.

      Parameters:
      context - The context in which the examination takes place
      base - The object to examine
      Returns:
      An iterator, possibly empty, of feature descriptors of the given object
    • getCommonPropertyType

      public abstract Class<?> getCommonPropertyType(ELContext context, Object base)
      Obtain the most common type that is acceptable for the given base object.
      Parameters:
      context - The context in which the examination takes place
      base - The object to examine
      Returns:
      {code null} if the most common type cannot be determine, otherwise the most common type
    • convertToType

      public <T> T convertToType(ELContext context, Object obj, Class<T> type)
      Converts the given object to the given type.
      Type Parameters:
      T - The type to which the object should be converted
      Parameters:
      context - The EL context for this evaluation
      obj - The object to convert
      type - The type to which the object should be converted
      Returns:
      This default implementation always returns null
      Since:
      EL 3.0