Package javax.el

## Class ELResolver

- java.lang.Object
- - javax.el.ELResolver

Direct Known Subclasses:
  `ArrayELResolver`, `BeanELResolver`, `BeanNameELResolver`, `CompositeELResolver`, `ImplicitObjectELResolver`, `ListELResolver`, `MapELResolver`, `ResourceBundleELResolver`, `ScopedAttributeELResolver`, `StaticFieldELResolver`, `TypeConverter`

    public abstract class ELResolver
    extends java.lang.Object

Author:
  Jacob Hookom [jacob/hookom.net]

### Field Summary

Fields
`static java.lang.String` `RESOLVABLE_AT_DESIGN_TIME`
`static java.lang.String` `TYPE`

### Constructor Summary

Constructors
`ELResolver()`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`java.lang.Object` `convertToType​(ELContext context, java.lang.Object obj, java.lang.Class<?> type)` Converts the given object to the given type.
`abstract java.lang.Class<?>` `getCommonPropertyType​(ELContext context, java.lang.Object base)`
`abstract java.util.Iterator<java.beans.FeatureDescriptor>` `getFeatureDescriptors​(ELContext context, java.lang.Object base)`
`abstract java.lang.Class<?>` `getType​(ELContext context, java.lang.Object base, java.lang.Object property)`
`abstract java.lang.Object` `getValue​(ELContext context, java.lang.Object base, java.lang.Object property)`
`java.lang.Object` `invoke​(ELContext context, java.lang.Object base, java.lang.Object method, java.lang.Class<?>[] paramTypes, java.lang.Object[] params)` Invokes a method on the the given object.
`abstract boolean` `isReadOnly​(ELContext context, java.lang.Object base, java.lang.Object property)`
`abstract void` `setValue​(ELContext context, java.lang.Object base, java.lang.Object property, java.lang.Object value)`

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

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

### Field Detail

#### TYPE

    public static final java.lang.String TYPE

See Also:
  Constant Field Values

#### RESOLVABLE_AT_DESIGN_TIME

    public static final java.lang.String RESOLVABLE_AT_DESIGN_TIME

See Also:
  Constant Field Values

### Constructor Detail

#### ELResolver

    public ELResolver()

### Method Detail

#### getValue

    public abstract java.lang.Object getValue​(ELContext context,
                                              java.lang.Object base,
                                              java.lang.Object property)

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:
  `java.lang.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 java.lang.Object invoke​(ELContext context,
                                   java.lang.Object base,
                                   java.lang.Object method,
                                   java.lang.Class<?>[] paramTypes,
                                   java.lang.Object[] params)

Invokes a method on the the given object. This default implementation always returns `null`.

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:
  Always `null`
Since:
  EL 2.2

#### getType

    public abstract java.lang.Class<?> getType​(ELContext context,
                                               java.lang.Object base,
                                               java.lang.Object property)

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 type of the provided property
Throws:
  `java.lang.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,
                                  java.lang.Object base,
                                  java.lang.Object property,
                                  java.lang.Object value)

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:
  `java.lang.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,
                                       java.lang.Object base,
                                       java.lang.Object property)

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:
  `java.lang.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 java.util.Iterator<java.beans.FeatureDescriptor> getFeatureDescriptors​(ELContext context,
                                                                                           java.lang.Object base)

#### getCommonPropertyType

    public abstract java.lang.Class<?> getCommonPropertyType​(ELContext context,
                                                             java.lang.Object base)

#### convertToType

    public java.lang.Object convertToType​(ELContext context,
                                          java.lang.Object obj,
                                          java.lang.Class<?> type)

Converts the given object to the given type. This default implementation always returns `null`.

Parameters:
  `context` - The EL context for this evaluation
  `obj` - The object to convert
  `type` - The type to which the object should be converted
Returns:
  Always `null`
Since:
  EL 3.0