ELResolver (EL 3.0 API Documentation - Apache Tomcat 9.0.106)
Description: declaration: package: javax.el, class: ELResolver

# Class ELResolver

java.lang.Object
javax.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 Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `RESOLVABLE_AT_DESIGN_TIME`
  `static final String`
  `TYPE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ELResolver()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Object`
  `convertToType(ELContext context, Object obj, Class<?> type)`
  Converts the given object to the given type.
  `abstract Class<?>`
  `getCommonPropertyType(ELContext context, Object base)`
  Obtain the most common type that is acceptable for the given base object.
  `abstract Iterator<FeatureDescriptor>`
  `getFeatureDescriptors(ELContext context, Object base)`
  Obtain the feature descriptors for the resolvable properties of the given object.
  `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.
  `abstract Object`
  `getValue(ELContext context, Object base, Object property)`
  Obtain the value of the given property on the given object using the given context.
  `Object`
  `invoke(ELContext context, Object base, Object method, Class<?>[] paramTypes, Object[] params)`
  Invokes a method on the the given object.
  `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.
  `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.

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

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

- ## Field Details

  - ### TYPE

    public static final String TYPE
    See Also:
      - Constant Field Values

  - ### RESOLVABLE_AT_DESIGN_TIME

    public static final String RESOLVABLE_AT_DESIGN_TIME
    See Also:
      - Constant Field Values

- ## 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

    public abstract Iterator<FeatureDescriptor> getFeatureDescriptors(ELContext context, Object base)
    Obtain the feature descriptors for the resolvable properties of the given object.
    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 Object convertToType(ELContext context, Object obj, Class<?> type)
    Converts the given object to the given type.
    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