Convert a supplied set of arguments into the requested types. If the parameterTypes are related to
a varargs method then the final entry in the parameterTypes array is going to be an array itself whose
component type should be used as the conversion target for extraneous arguments. (For example, if the
parameterTypes are {Integer, String[]} and the input arguments are {Integer, boolean, float} then both
the boolean and float must be converted to strings). This method does *not* repackage the arguments
into a form suitable for the varargs invocation - a subsequent call to setupArgumentsForVarargsInvocation handles that.
Parameters:
converter - the converter to use for type conversions
arguments - the arguments to convert to the requested parameter types
method - the target Method
Returns:
true if some kind of conversion occurred on the argument
public 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.
For example, if parameterTypes is (int, String[]) because the second parameter
was declared String..., then if arguments is [1,"a","b"] then it must be
repackaged as [1,new String[]{"a","b"}] in order to match the expected types.
Parameters:
requiredParameterTypes - the types of the parameters for the invocation
args - the arguments to be setup ready for the invocation
Returns:
a repackaged array of arguments where any varargs setup has been done