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

jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git


The following commit(s) were added to refs/heads/master by this push:
     new 6dc2f720c8 Utility class modernization
6dc2f720c8 is described below

commit 6dc2f720c84d2bf9c315f39a4a02be6243d943ee
Author: James Bognar <[email protected]>
AuthorDate: Fri Nov 7 13:38:22 2025 -0500

    Utility class modernization
---
 .../apache/juneau/common/reflect/Annotatable.java  | 30 ++++++++--------------
 .../juneau/common/reflect/AnnotationInfo.java      | 19 ++------------
 .../apache/juneau/common/reflect/ClassInfo.java    |  7 +----
 .../juneau/common/reflect/ConstructorInfo.java     |  9 ++-----
 .../apache/juneau/common/reflect/FieldInfo.java    |  9 ++-----
 .../apache/juneau/common/reflect/MethodInfo.java   |  9 ++-----
 .../apache/juneau/common/reflect/PackageInfo.java  |  7 +----
 .../juneau/common/reflect/ParameterInfo.java       | 11 +++-----
 8 files changed, 24 insertions(+), 77 deletions(-)

diff --git 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/Annotatable.java
 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/Annotatable.java
index 873806403f..e87bfdbb2d 100644
--- 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/Annotatable.java
+++ 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/Annotatable.java
@@ -44,30 +44,20 @@ public interface Annotatable {
        AnnotatableType getAnnotatableType();
 
        /**
-        * Returns the class info associated with this annotatable element.
+        * Returns a human-readable label for this annotatable element.
         *
         * <p>
-        * Returns the declaring class from whichever context this annotatable 
belongs to.
-        *
-        * @return The class info, or <jk>null</jk> if this is a package.
-        */
-       ClassInfo getClassInfo();
-
-       /**
-        * Returns a human-readable name for this annotatable element.
-        *
-        * <p>
-        * The name format depends on the type of annotatable:
+        * The label format depends on the type of annotatable:
         * <ul>
-        *      <li>{@link AnnotatableType#CLASS CLASS} - Simple class name
-        *      <li>{@link AnnotatableType#METHOD METHOD} - Short method name 
(with parameter types)
-        *      <li>{@link AnnotatableType#FIELD FIELD} - Field name
-        *      <li>{@link AnnotatableType#CONSTRUCTOR CONSTRUCTOR} - Short 
constructor name (with parameter types)
-        *      <li>{@link AnnotatableType#PARAMETER PARAMETER} - Parameter name
-        *      <li>{@link AnnotatableType#PACKAGE PACKAGE} - Package name
+        *      <li>{@link AnnotatableType#CLASS CLASS} - Simple class name 
(e.g., <js>"MyClass"</js>)
+        *      <li>{@link AnnotatableType#METHOD METHOD} - Class and method 
with parameter types (e.g., <js>"MyClass.myMethod(String,int)"</js>)
+        *      <li>{@link AnnotatableType#FIELD FIELD} - Class and field name 
(e.g., <js>"MyClass.myField"</js>)
+        *      <li>{@link AnnotatableType#CONSTRUCTOR CONSTRUCTOR} - Class and 
constructor with parameter types (e.g., <js>"MyClass.MyClass(String)"</js>)
+        *      <li>{@link AnnotatableType#PARAMETER PARAMETER} - Class, 
method/constructor, and parameter index (e.g., <js>"MyClass.myMethod[0]"</js>)
+        *      <li>{@link AnnotatableType#PACKAGE PACKAGE} - Package name 
(e.g., <js>"com.example.package"</js>)
         * </ul>
         *
-        * @return The annotatable name.
+        * @return The human-readable label for this annotatable element.
         */
-       String getAnnotatableName();
+       String getLabel();
 }
diff --git 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/AnnotationInfo.java
 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/AnnotationInfo.java
index 650ce6ed96..a9f802da18 100644
--- 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/AnnotationInfo.java
+++ 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/AnnotationInfo.java
@@ -187,7 +187,7 @@ public class AnnotationInfo<T extends Annotation> {
         */
        public LinkedHashMap<String, Object> toMap() {
                var jm = new LinkedHashMap<String, Object>();
-               jm.put(s(annotatable.getAnnotatableType()), 
annotatable.getAnnotatableName());
+               jm.put(s(annotatable.getAnnotatableType()), 
annotatable.getLabel());
                var ja = new LinkedHashMap<String, Object>();
                var ca = ClassInfo.of(a.annotationType());
                ca.getDeclaredMethods().stream().forEach(x -> {
@@ -287,22 +287,7 @@ public class AnnotationInfo<T extends Annotation> {
         * @return A simple string representation of this annotation.
         */
        public String toSimpleString() {
-               var location = new StringBuilder();
-               var ci = annotatable.getClassInfo();
-
-               if (nn(ci)) {
-                       location.append(ci.getNameSimple());
-                       var type = annotatable.getAnnotatableType();
-                       if (type == AnnotatableType.METHOD_TYPE || type == 
AnnotatableType.FIELD_TYPE ||
-                               type == AnnotatableType.CONSTRUCTOR_TYPE || 
type == AnnotatableType.PARAMETER_TYPE) {
-                               
location.append('.').append(annotatable.getAnnotatableName());
-                       }
-               } else {
-                       // Package
-                       location.append(annotatable.getAnnotatableName());
-               }
-
-               return "@" + scn(a.annotationType()) + "(on=" + location + ")";
+               return "@" + scn(a.annotationType()) + "(on=" + 
annotatable.getLabel() + ")";
        }
 
        /**
diff --git 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/ClassInfo.java
 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/ClassInfo.java
index c903c4382e..99549929a0 100644
--- 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/ClassInfo.java
+++ 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/ClassInfo.java
@@ -2511,12 +2511,7 @@ public class ClassInfo extends ElementInfo implements 
Annotatable {
        }
 
        @Override /* Annotatable */
-       public ClassInfo getClassInfo() {
-               return this;
-       }
-
-       @Override /* Annotatable */
-       public String getAnnotatableName() {
+       public String getLabel() {
                return getNameSimple();
        }
 }
\ No newline at end of file
diff --git 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/ConstructorInfo.java
 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/ConstructorInfo.java
index bba7e8a9ed..179b63e1cc 100644
--- 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/ConstructorInfo.java
+++ 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/ConstructorInfo.java
@@ -162,12 +162,7 @@ public class ConstructorInfo extends ExecutableInfo 
implements Comparable<Constr
        }
 
        @Override /* Annotatable */
-       public ClassInfo getClassInfo() {
-               return getDeclaringClass();
-       }
-
-       @Override /* Annotatable */
-       public String getAnnotatableName() {
-               return getShortName();
+       public String getLabel() {
+               return getDeclaringClass().getNameSimple() + "." + 
getShortName();
        }
 }
\ No newline at end of file
diff --git 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/FieldInfo.java
 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/FieldInfo.java
index b38a95749c..302867c820 100644
--- 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/FieldInfo.java
+++ 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/FieldInfo.java
@@ -407,12 +407,7 @@ public class FieldInfo extends AccessibleInfo implements 
Comparable<FieldInfo>,
        }
 
        @Override /* Annotatable */
-       public ClassInfo getClassInfo() {
-               return getDeclaringClass();
-       }
-
-       @Override /* Annotatable */
-       public String getAnnotatableName() {
-               return getName();
+       public String getLabel() {
+               return getDeclaringClass().getNameSimple() + "." + getName();
        }
 }
\ No newline at end of file
diff --git 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/MethodInfo.java
 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/MethodInfo.java
index a8fcb9a890..b469cecf83 100644
--- 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/MethodInfo.java
+++ 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/MethodInfo.java
@@ -755,12 +755,7 @@ public class MethodInfo extends ExecutableInfo implements 
Comparable<MethodInfo>
        }
 
        @Override /* Annotatable */
-       public ClassInfo getClassInfo() {
-               return getDeclaringClass();
-       }
-
-       @Override /* Annotatable */
-       public String getAnnotatableName() {
-               return getShortName();
+       public String getLabel() {
+               return getDeclaringClass().getNameSimple() + "." + 
getShortName();
        }
 }
\ No newline at end of file
diff --git 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/PackageInfo.java
 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/PackageInfo.java
index cce4f54afe..1ecf8889f0 100644
--- 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/PackageInfo.java
+++ 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/PackageInfo.java
@@ -374,12 +374,7 @@ public class PackageInfo implements Annotatable {
        }
 
        @Override /* Annotatable */
-       public ClassInfo getClassInfo() {
-               return null;  // Package has no declaring class
-       }
-
-       @Override /* Annotatable */
-       public String getAnnotatableName() {
+       public String getLabel() {
                return getName();
        }
 }
diff --git 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/ParameterInfo.java
 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/ParameterInfo.java
index f9ec08ca5a..24c1851884 100644
--- 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/ParameterInfo.java
+++ 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/ParameterInfo.java
@@ -803,12 +803,9 @@ public class ParameterInfo extends ElementInfo implements 
Annotatable {
        }
 
        @Override /* Annotatable */
-       public ClassInfo getClassInfo() {
-               return getDeclaringExecutable().getDeclaringClass();
-       }
-
-       @Override /* Annotatable */
-       public String getAnnotatableName() {
-               return getName();
+       public String getLabel() {
+               var exec = getDeclaringExecutable();
+               var label = exec.getDeclaringClass().getNameSimple() + "." + 
exec.getShortName();
+               return label + "[" + index + "]";
        }
 }
\ No newline at end of file

Reply via email to