You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2021/11/15 19:21:25 UTC

[commons-lang] 03/03: Internal refactoring.

This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-lang.git

commit 38533393ba9922cd2c98fb7fafcd4f9b108f978c
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Mon Nov 15 14:21:18 2021 -0500

    Internal refactoring.
---
 .../org/apache/commons/lang3/reflect/FieldUtils.java  |  2 +-
 .../org/apache/commons/lang3/reflect/MemberUtils.java | 19 ++++++++++++++-----
 2 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java b/src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java
index f2900a2..205f4af 100644
--- a/src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java
+++ b/src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java
@@ -107,7 +107,7 @@ public class FieldUtils {
                 final Field field = acls.getDeclaredField(fieldName);
                 // getDeclaredField checks for non-public scopes as well
                 // and it returns accurate results
-                if (!Modifier.isPublic(field.getModifiers())) {
+                if (!MemberUtils.isPublic(field)) {
                     if (!forceAccess) {
                         continue;
                     }
diff --git a/src/main/java/org/apache/commons/lang3/reflect/MemberUtils.java b/src/main/java/org/apache/commons/lang3/reflect/MemberUtils.java
index 703df26..7f72f58 100644
--- a/src/main/java/org/apache/commons/lang3/reflect/MemberUtils.java
+++ b/src/main/java/org/apache/commons/lang3/reflect/MemberUtils.java
@@ -30,7 +30,7 @@ import org.apache.commons.lang3.ClassUtils;
  *
  * @since 2.5
  */
-abstract class MemberUtils {
+final class MemberUtils {
     // TODO extract an interface to implement compareParameterSets(...)?
 
     private static final int ACCESS_TEST = Modifier.PUBLIC | Modifier.PROTECTED | Modifier.PRIVATE;
@@ -57,7 +57,7 @@ abstract class MemberUtils {
             return false;
         }
         final Member m = (Member) obj;
-        if (!obj.isAccessible() && Modifier.isPublic(m.getModifiers()) && isPackageAccess(m.getDeclaringClass().getModifiers())) {
+        if (!obj.isAccessible() && isPublic(m) && isPackageAccess(m.getDeclaringClass().getModifiers())) {
             try {
                 obj.setAccessible(true);
                 return true;
@@ -78,8 +78,17 @@ abstract class MemberUtils {
     }
 
     /**
+     * Tests whether a {@link Member} is public.
+     * @param member Member to test
+     * @return {@code true} if {@code m} is public
+     */
+    static boolean isPublic(final Member member) {
+        return member != null && Modifier.isPublic(member.getModifiers());
+    }
+
+    /**
      * Tests whether a {@link Member} is static.
-     * @param member Member to check
+     * @param member Member to test
      * @return {@code true} if {@code m} is static
      */
     static boolean isStatic(final Member member) {
@@ -88,11 +97,11 @@ abstract class MemberUtils {
 
     /**
      * Tests whether a {@link Member} is accessible.
-     * @param member Member to check
+     * @param member Member to test
      * @return {@code true} if {@code m} is accessible
      */
     static boolean isAccessible(final Member member) {
-        return member != null && Modifier.isPublic(member.getModifiers()) && !member.isSynthetic();
+        return member != null && isPublic(member) && !member.isSynthetic();
     }
 
     /**