public class BeanELResolverEx
extends javax.el.BeanELResolver
base's BeanInfo, if present, to better handle overloading methods' ambiguity - the
BeanInfo declared methods are in preference to the rest.| Modifier and Type | Class and Description |
|---|---|
static class |
BeanELResolverEx.StaticMethodCompareStrategy |
static class |
BeanELResolverEx.SuitableMethodComparator |
| Modifier and Type | Field and Description |
|---|---|
protected static java.util.Comparator<java.lang.reflect.Method> |
DEFAULT_SUITABLE_METHOD_COMPARATOR |
| Constructor and Description |
|---|
BeanELResolverEx() |
BeanELResolverEx(java.util.Comparator<java.lang.reflect.Method> suitableMethodComparator) |
| Modifier and Type | Method and Description |
|---|---|
java.lang.String[] |
addBeanInfoSearchPath(java.lang.String[] additionalBeanInfoPath) |
protected <T> java.lang.reflect.Method |
findBeanInfoCandidate(int paramCount,
java.lang.String methodName,
java.util.Map<java.lang.String,java.util.List<java.beans.MethodDescriptor>> methodDescriptors,
boolean staticOnly) |
protected <T> java.lang.reflect.Method |
findBeanInfoCandidate(int paramCount,
java.lang.String methodName,
java.beans.MethodDescriptor[] methodDescriptors,
boolean staticOnly) |
protected java.lang.reflect.Method |
findMethod(java.lang.Class<?> klass,
java.lang.String methodName,
java.lang.Class<?>[] paramTypes,
java.lang.Object[] params,
boolean staticOnly) |
protected java.lang.reflect.Method |
findMethod(java.lang.String methodName,
java.lang.Class<?>[] paramTypes,
java.lang.Object[] params,
boolean staticOnly,
java.util.Map<java.lang.String,java.util.List<java.beans.MethodDescriptor>> methodDescriptors) |
protected java.lang.reflect.Method |
findMethod(java.lang.String methodName,
java.lang.Class<?>[] paramTypes,
java.lang.Object[] params,
boolean staticOnly,
java.beans.MethodDescriptor[] methodDescriptors) |
protected java.lang.reflect.Method |
findMethodOrThrow(java.lang.Class<?> klass,
java.lang.String methodName,
java.lang.Class<?>[] paramTypes,
java.lang.Object[] params,
boolean staticOnly) |
protected java.lang.reflect.Method |
findMethodOrThrow(java.lang.String methodName,
java.lang.Class<?>[] paramTypes,
java.lang.Object[] params,
boolean staticOnly,
java.util.Map<java.lang.String,java.util.List<java.beans.MethodDescriptor>> methodDescriptors) |
protected java.lang.reflect.Method |
findMethodOrThrow(java.lang.String methodName,
java.lang.Class<?>[] paramTypes,
java.lang.Object[] params,
boolean staticOnly,
java.beans.MethodDescriptor[] methodDescriptors) |
java.beans.BeanInfo |
getBeanInfo(java.lang.Object base,
java.lang.String... additionalBeanInfoPath) |
java.beans.MethodDescriptor[] |
getMethodDescriptors(javax.el.ELContext context,
java.lang.Object base,
java.lang.String... additionalBeanInfoPath) |
java.lang.Object |
invoke(javax.el.ELContext context,
java.lang.Object base,
java.lang.Object method,
java.lang.Class<?>[] paramTypes,
java.lang.Object[] params)
Invokes the method considering the base's BeanInfo class' MethodDescriptors.
|
java.lang.Object |
invokeIfBeanInfoOnly(javax.el.ELContext context,
java.lang.Object base,
java.lang.Object method,
java.lang.Class<?>[] paramTypes,
java.lang.Object[] params) |
java.lang.Object |
invokeIfBeanInfoOnly(javax.el.ELContext context,
java.lang.Object base,
java.lang.Object method,
java.lang.Class<?>[] paramTypes,
java.lang.Object[] params,
java.util.Map<java.lang.String,java.util.List<java.beans.MethodDescriptor>> methodDescriptors) |
java.lang.Object |
invokeOnInterface(javax.el.ELContext context,
java.lang.Class<?> baseInterface,
java.lang.Object base,
java.lang.Object method,
java.lang.Class<?>[] paramTypes,
java.lang.Object[] params) |
protected <T> boolean |
isMethodCandidate(java.lang.reflect.Method method,
java.lang.String name,
T[] params,
boolean staticOnly,
boolean isParamTypes) |
protected static final java.util.Comparator<java.lang.reflect.Method> DEFAULT_SUITABLE_METHOD_COMPARATOR
public BeanELResolverEx()
public BeanELResolverEx(java.util.Comparator<java.lang.reflect.Method> suitableMethodComparator)
public java.lang.Object invoke(javax.el.ELContext context,
java.lang.Object base,
java.lang.Object method,
java.lang.Class<?>[] paramTypes,
java.lang.Object[] params)
invoke in class javax.el.BeanELResolverpublic java.lang.Object invokeOnInterface(javax.el.ELContext context,
java.lang.Class<?> baseInterface,
java.lang.Object base,
java.lang.Object method,
java.lang.Class<?>[] paramTypes,
java.lang.Object[] params)
public java.lang.Object invokeIfBeanInfoOnly(javax.el.ELContext context,
java.lang.Object base,
java.lang.Object method,
java.lang.Class<?>[] paramTypes,
java.lang.Object[] params)
public java.lang.Object invokeIfBeanInfoOnly(javax.el.ELContext context,
java.lang.Object base,
java.lang.Object method,
java.lang.Class<?>[] paramTypes,
java.lang.Object[] params,
java.util.Map<java.lang.String,java.util.List<java.beans.MethodDescriptor>> methodDescriptors)
protected java.lang.reflect.Method findMethodOrThrow(java.lang.String methodName,
java.lang.Class<?>[] paramTypes,
java.lang.Object[] params,
boolean staticOnly,
java.beans.MethodDescriptor[] methodDescriptors)
protected java.lang.reflect.Method findMethodOrThrow(java.lang.String methodName,
java.lang.Class<?>[] paramTypes,
java.lang.Object[] params,
boolean staticOnly,
java.util.Map<java.lang.String,java.util.List<java.beans.MethodDescriptor>> methodDescriptors)
protected java.lang.reflect.Method findMethodOrThrow(java.lang.Class<?> klass,
java.lang.String methodName,
java.lang.Class<?>[] paramTypes,
java.lang.Object[] params,
boolean staticOnly)
protected java.lang.reflect.Method findMethod(java.lang.Class<?> klass,
java.lang.String methodName,
java.lang.Class<?>[] paramTypes,
java.lang.Object[] params,
boolean staticOnly)
protected java.lang.reflect.Method findMethod(java.lang.String methodName,
java.lang.Class<?>[] paramTypes,
java.lang.Object[] params,
boolean staticOnly,
java.beans.MethodDescriptor[] methodDescriptors)
protected java.lang.reflect.Method findMethod(java.lang.String methodName,
java.lang.Class<?>[] paramTypes,
java.lang.Object[] params,
boolean staticOnly,
java.util.Map<java.lang.String,java.util.List<java.beans.MethodDescriptor>> methodDescriptors)
protected <T> java.lang.reflect.Method findBeanInfoCandidate(int paramCount,
java.lang.String methodName,
java.beans.MethodDescriptor[] methodDescriptors,
boolean staticOnly)
protected <T> java.lang.reflect.Method findBeanInfoCandidate(int paramCount,
java.lang.String methodName,
java.util.Map<java.lang.String,java.util.List<java.beans.MethodDescriptor>> methodDescriptors,
boolean staticOnly)
protected <T> boolean isMethodCandidate(java.lang.reflect.Method method,
java.lang.String name,
T[] params,
boolean staticOnly,
boolean isParamTypes)
public java.lang.String[] addBeanInfoSearchPath(java.lang.String[] additionalBeanInfoPath)
public java.beans.BeanInfo getBeanInfo(java.lang.Object base,
java.lang.String... additionalBeanInfoPath)
public java.beans.MethodDescriptor[] getMethodDescriptors(javax.el.ELContext context,
java.lang.Object base,
java.lang.String... additionalBeanInfoPath)