Class ELResolverChain
java.lang.Object
jakarta.el.ELResolver
jakarta.el.CompositeELResolver
io.micronaut.el.resolver.ELResolverChain
public final class ELResolverChain
extends jakarta.el.CompositeELResolver
A
CompositeELResolver that only consults, for an operation a resolver does not have to implement,
the resolvers that implement it.
ELResolver.convertToType(ELContext, Object, Class) and ELResolver.invoke(ELContext, Object, Object, Class[], Object[]) have a default implementation that resolves
nothing, and none of the resolvers of the specification overrides the former. The composite of the
specification still asks every resolver on every coercion, which is the single largest cost of evaluating a
compiled expression: the result of every value expression is coerced to its expected type. This composite
records, when a resolver is added, whether its class overrides each of the two methods, and iterates only the
resolvers that do. The semantics are the ones of CompositeELResolver: the resolvers are consulted in
order until one sets propertyResolved.
- Since:
- 1.0
- Author:
- Denis Stepanov
-
Constructor Summary
ConstructorsConstructorDescriptionELResolverChain(jakarta.el.ELResolver... resolvers) Creates a chain of the given resolvers, in order.ELResolverChain(List<? extends jakarta.el.ELResolver> resolvers) Creates a chain of the given resolvers, in order. -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(jakarta.el.ELResolver elResolver) booleanconverts()<T> @Nullable TconvertToType(jakarta.el.ELContext context, @Nullable Object obj, @Nullable Class<T> targetType) @Nullable Object@Nullable Objectinvoke(jakarta.el.ELContext context, @Nullable Object base, @Nullable Object method, Class<?> @Nullable [] paramTypes, @Nullable Object[] params) Methods inherited from class jakarta.el.CompositeELResolver
getCommonPropertyType, getType, isReadOnly, setValue
-
Constructor Details
-
ELResolverChain
public ELResolverChain(jakarta.el.ELResolver... resolvers) Creates a chain of the given resolvers, in order.- Parameters:
resolvers- The resolvers
-
ELResolverChain
Creates a chain of the given resolvers, in order.- Parameters:
resolvers- The resolvers
-
-
Method Details
-
add
public void add(jakarta.el.ELResolver elResolver) - Overrides:
addin classjakarta.el.CompositeELResolver
-
converts
public boolean converts()- Returns:
- Whether any of the resolvers implements
ELResolver.convertToType(ELContext, Object, Class)
-
getValue
-
convertToType
-
invoke
-