+ small fix to reflection util to avoid accessibility calls

This commit is contained in:
Costin Leau 2009-08-06 22:44:04 +00:00
parent af8af8c633
commit af6275a56e
1 changed files with 6 additions and 3 deletions

View File

@ -423,7 +423,8 @@ public abstract class ReflectionUtils {
* @see java.lang.reflect.Field#setAccessible * @see java.lang.reflect.Field#setAccessible
*/ */
public static void makeAccessible(Field field) { public static void makeAccessible(Field field) {
if (!Modifier.isPublic(field.getModifiers()) || !Modifier.isPublic(field.getDeclaringClass().getModifiers())) { if ((!Modifier.isPublic(field.getModifiers()) || !Modifier.isPublic(field.getDeclaringClass().getModifiers()))
&& !field.isAccessible()) {
field.setAccessible(true); field.setAccessible(true);
} }
} }
@ -438,7 +439,8 @@ public abstract class ReflectionUtils {
* @see java.lang.reflect.Method#setAccessible * @see java.lang.reflect.Method#setAccessible
*/ */
public static void makeAccessible(Method method) { public static void makeAccessible(Method method) {
if (!Modifier.isPublic(method.getModifiers()) || !Modifier.isPublic(method.getDeclaringClass().getModifiers())) { if ((!Modifier.isPublic(method.getModifiers()) || !Modifier.isPublic(method.getDeclaringClass().getModifiers()))
&& !method.isAccessible()) {
method.setAccessible(true); method.setAccessible(true);
} }
} }
@ -453,7 +455,8 @@ public abstract class ReflectionUtils {
* @see java.lang.reflect.Constructor#setAccessible * @see java.lang.reflect.Constructor#setAccessible
*/ */
public static void makeAccessible(Constructor<?> ctor) { public static void makeAccessible(Constructor<?> ctor) {
if (!Modifier.isPublic(ctor.getModifiers()) || !Modifier.isPublic(ctor.getDeclaringClass().getModifiers())) { if ((!Modifier.isPublic(ctor.getModifiers()) || !Modifier.isPublic(ctor.getDeclaringClass().getModifiers()))
&& !ctor.isAccessible()) {
ctor.setAccessible(true); ctor.setAccessible(true);
} }
} }