diff --git a/org.springframework.core/src/main/java/org/springframework/util/ReflectionUtils.java b/org.springframework.core/src/main/java/org/springframework/util/ReflectionUtils.java
index c8218286254..fd3dc38e307 100644
--- a/org.springframework.core/src/main/java/org/springframework/util/ReflectionUtils.java
+++ b/org.springframework.core/src/main/java/org/springframework/util/ReflectionUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2008 the original author or authors.
+ * Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -145,11 +145,11 @@ public abstract class ReflectionUtils {
* (may be null to indicate any signature)
* @return the Method object, or null if none found
*/
- public static Method findMethod(Class clazz, String name, Class[] paramTypes) {
+ public static Method findMethod(Class clazz, String name, Class... paramTypes) {
Assert.notNull(clazz, "Class must not be null");
Assert.notNull(name, "Method name must not be null");
Class searchType = clazz;
- while (!Object.class.equals(searchType) && searchType != null) {
+ while (searchType != null) {
Method[] methods = (searchType.isInterface() ? searchType.getMethods() : searchType.getDeclaredMethods());
for (Method method : methods) {
if (name.equals(method.getName()) &&
@@ -173,7 +173,7 @@ public abstract class ReflectionUtils {
* @see #invokeMethod(java.lang.reflect.Method, Object, Object[])
*/
public static Object invokeMethod(Method method, Object target) {
- return invokeMethod(method, target, null);
+ return invokeMethod(method, target, new Object[0]);
}
/**
@@ -186,7 +186,7 @@ public abstract class ReflectionUtils {
* @param args the invocation arguments (may be null)
* @return the invocation result, if any
*/
- public static Object invokeMethod(Method method, Object target, Object[] args) {
+ public static Object invokeMethod(Method method, Object target, Object... args) {
try {
return method.invoke(target, args);
}
@@ -206,7 +206,7 @@ public abstract class ReflectionUtils {
* @see #invokeJdbcMethod(java.lang.reflect.Method, Object, Object[])
*/
public static Object invokeJdbcMethod(Method method, Object target) throws SQLException {
- return invokeJdbcMethod(method, target, null);
+ return invokeJdbcMethod(method, target, new Object[0]);
}
/**
@@ -219,7 +219,7 @@ public abstract class ReflectionUtils {
* @throws SQLException the JDBC API SQLException to rethrow (if any)
* @see #invokeMethod(java.lang.reflect.Method, Object, Object[])
*/
- public static Object invokeJdbcMethod(Method method, Object target, Object[] args) throws SQLException {
+ public static Object invokeJdbcMethod(Method method, Object target, Object... args) throws SQLException {
try {
return method.invoke(target, args);
}
diff --git a/org.springframework.core/src/test/java/org/springframework/util/ReflectionUtilsTests.java b/org.springframework.core/src/test/java/org/springframework/util/ReflectionUtilsTests.java
index 3bc7fb9bc54..c883b2cd0df 100644
--- a/org.springframework.core/src/test/java/org/springframework/util/ReflectionUtilsTests.java
+++ b/org.springframework.core/src/test/java/org/springframework/util/ReflectionUtilsTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2007 the original author or authors.
+ * Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -21,7 +21,6 @@ import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.rmi.ConnectException;
import java.rmi.RemoteException;
-import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
@@ -31,8 +30,6 @@ import org.junit.Test;
import org.springframework.beans.TestBean;
/**
- *
JUnit 4 based unit tests for {@link ReflectionUtils}.
- * * @author Rob Harrop * @author Juergen Hoeller * @author Sam Brannen @@ -206,27 +203,8 @@ public class ReflectionUtilsTests { assertEquals(src.getDoctor(), dest.getDoctor()); } - static class ListSavingMethodCallback implements ReflectionUtils.MethodCallback { - - private List