|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.expression.spel.support.ReflectionHelper
public class ReflectionHelper
Utility methods used by the reflection resolver code to discover the appropriate methods/constructors and fields that should be used in expressions.
Nested Class Summary | |
---|---|
static class |
ReflectionHelper.ArgsMatchKind
|
static class |
ReflectionHelper.ArgumentsMatchInfo
An instance of ArgumentsMatchInfo describes what kind of match was achieved between two sets of arguments - the set that a method/constructor is expecting and the set that are being supplied at the point of invocation. |
Constructor Summary | |
---|---|
ReflectionHelper()
|
Method Summary | |
---|---|
(package private) static ReflectionHelper.ArgumentsMatchInfo |
compareArguments(java.util.List<TypeDescriptor> expectedArgTypes,
java.util.List<TypeDescriptor> suppliedArgTypes,
TypeConverter typeConverter)
Compare argument arrays and return information about whether they match. |
(package private) static ReflectionHelper.ArgumentsMatchInfo |
compareArgumentsVarargs(java.util.List<TypeDescriptor> expectedArgTypes,
java.util.List<TypeDescriptor> suppliedArgTypes,
TypeConverter typeConverter)
Compare argument arrays and return information about whether they match. |
static void |
convertAllArguments(TypeConverter converter,
java.lang.Object[] arguments,
java.lang.reflect.Method method)
Convert a supplied set of arguments into the requested types. |
(package private) static void |
convertArguments(TypeConverter converter,
java.lang.Object[] arguments,
java.lang.Object methodOrCtor,
int[] argumentsRequiringConversion,
java.lang.Integer varargsPosition)
Takes an input set of argument values and, following the positions specified in the int array, it converts them to the types specified as the required parameter types. |
static int |
getTypeDifferenceWeight(java.util.List<TypeDescriptor> paramTypes,
java.util.List<TypeDescriptor> argTypes)
Based on MethodInvoker.getTypeDifferenceWeight(Class[], Object[]) but operates on TypeDescriptors. |
static java.lang.Object[] |
setupArgumentsForVarargsInvocation(java.lang.Class[] requiredParameterTypes,
java.lang.Object... args)
Package up the arguments so that they correctly match what is expected in parameterTypes. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ReflectionHelper()
Method Detail |
---|
static ReflectionHelper.ArgumentsMatchInfo compareArguments(java.util.List<TypeDescriptor> expectedArgTypes, java.util.List<TypeDescriptor> suppliedArgTypes, TypeConverter typeConverter)
expectedArgTypes
- the array of types the method/constructor is expectingsuppliedArgTypes
- the array of types that are being supplied at the point of invocationtypeConverter
- a registered type converter
public static int getTypeDifferenceWeight(java.util.List<TypeDescriptor> paramTypes, java.util.List<TypeDescriptor> argTypes)
MethodInvoker.getTypeDifferenceWeight(Class[], Object[])
but operates on TypeDescriptors.
static ReflectionHelper.ArgumentsMatchInfo compareArgumentsVarargs(java.util.List<TypeDescriptor> expectedArgTypes, java.util.List<TypeDescriptor> suppliedArgTypes, TypeConverter typeConverter)
expectedArgTypes
- the array of types the method/constructor is expectingsuppliedArgTypes
- the array of types that are being supplied at the point of invocationtypeConverter
- a registered type converter
static void convertArguments(TypeConverter converter, java.lang.Object[] arguments, java.lang.Object methodOrCtor, int[] argumentsRequiringConversion, java.lang.Integer varargsPosition) throws EvaluationException
converter
- the type converter to use for attempting conversionsarguments
- the actual arguments that need conversionmethodOrCtor
- the target Method or ConstructorargumentsRequiringConversion
- details which of the input arguments for sure need conversionvarargsPosition
- the known position of the varargs argument, if any
EvaluationException
- if a problem occurs during conversionpublic static void convertAllArguments(TypeConverter converter, java.lang.Object[] arguments, java.lang.reflect.Method method) throws SpelEvaluationException
converter
- the converter to use for type conversionsarguments
- the arguments to convert to the requested parameter typesmethod
- the target Method
SpelEvaluationException
- if there is a problem with conversionpublic static java.lang.Object[] setupArgumentsForVarargsInvocation(java.lang.Class[] requiredParameterTypes, java.lang.Object... args)
requiredParameterTypes
- the types of the parameters for the invocationargs
- the arguments to be setup ready for the invocation
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |