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