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 18fb6eb3a7 Utility class modernization
18fb6eb3a7 is described below

commit 18fb6eb3a7e83a5e0d4930d0f11391c19f596822
Author: James Bognar <[email protected]>
AuthorDate: Tue Nov 4 08:00:20 2025 -0500

    Utility class modernization
---
 .../juneau/common/reflect/AnnotationInfo.java      |   2 +-
 .../apache/juneau/common/reflect/ClassInfo.java    |   2 +-
 .../juneau/common/reflect/ConstructorInfo.java     |   6 -
 .../juneau/common/reflect/ExecutableInfo.java      | 124 ++++++---------------
 .../apache/juneau/common/reflect/MethodInfo.java   |   6 -
 .../org/apache/juneau/common/utils/ClassUtils.java |   2 +-
 .../src/main/java/org/apache/juneau/BeanMeta.java  |  22 ++--
 .../apache/juneau/BeanProxyInvocationHandler.java  |   4 +-
 .../src/main/java/org/apache/juneau/ClassMeta.java |   8 +-
 .../src/main/java/org/apache/juneau/Context.java   |   4 +-
 .../java/org/apache/juneau/cp/BeanCreator.java     |   6 +-
 .../main/java/org/apache/juneau/cp/BeanStore.java  |   2 +-
 .../juneau/httppart/bean/ResponseBeanMeta.java     |   2 +-
 .../java/org/apache/juneau/parser/ParserSet.java   |   2 +-
 .../java/org/apache/juneau/reflect/Mutaters.java   |   2 +-
 .../apache/juneau/serializer/SerializerSet.java    |   2 +-
 .../org/apache/juneau/svl/VarResolverSession.java  |   6 +-
 .../java/org/apache/juneau/swap/AutoListSwap.java  |   4 +-
 .../java/org/apache/juneau/swap/AutoMapSwap.java   |   4 +-
 .../org/apache/juneau/swap/AutoNumberSwap.java     |   4 +-
 .../org/apache/juneau/swap/AutoObjectSwap.java     |   4 +-
 .../java/org/apache/juneau/swap/BuilderSwap.java   |   6 +-
 .../java/org/apache/juneau/swap/SurrogateSwap.java |   2 +-
 .../apache/juneau/rest/client/ResponseContent.java |   2 +-
 .../org/apache/juneau/rest/client/RestRequest.java |   2 +-
 .../juneau/common/reflect/ClassInfo_Test.java      |   2 +-
 .../juneau/common/reflect/ConstructorInfoTest.java |  11 +-
 .../juneau/common/reflect/ExecutableInfo_Test.java |  44 ++++----
 .../juneau/common/reflect/MethodInfo_Test.java     |   9 +-
 29 files changed, 112 insertions(+), 184 deletions(-)

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 ef9cdc6252..ee3099c133 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
@@ -469,7 +469,7 @@ public class AnnotationInfo<T extends Annotation> {
 
        private static int findRank(Object a) {
                return ClassInfo.of(a).getMethods().stream()
-                       .filter(m -> m.hasName("rank") && m.hasNoParams() && 
m.hasReturnType(int.class))
+                       .filter(m -> m.hasName("rank") && m.hasNoParameters() 
&& m.hasReturnType(int.class))
                        .findFirst()
                        .map(m -> safe(() -> (int)m.invoke(a)))
                        .orElse(0);
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 067dd4f060..91fda7a635 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
@@ -1110,7 +1110,7 @@ public class ClassInfo extends ElementInfo implements 
Annotatable {
                        return null;
                int expectedParams = isNonStaticMemberClass() ? 1 : 0;
                return getDeclaredConstructors().stream()
-                       .filter(cc -> cc.hasNumParams(expectedParams))
+                       .filter(cc -> cc.hasNumParameters(expectedParams))
                        .filter(cc -> cc.isVisible(v))
                        .map(cc -> cc.accessible(v))
                        .findFirst()
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 9f8771217d..bc9a7db918 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
@@ -139,12 +139,6 @@ public class ConstructorInfo extends ExecutableInfo 
implements Comparable<Constr
                return i;
        }
 
-       @Override /* Overridden from ExecutableInfo */
-       public ConstructorInfo forEachParam(Predicate<ParameterInfo> filter, 
Consumer<ParameterInfo> action) {
-               super.forEachParam(filter, action);
-               return this;
-       }
-
        /**
         * Finds the annotation of the specified type defined on this 
constructor.
         *
diff --git 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/ExecutableInfo.java
 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/ExecutableInfo.java
index ea0b5e0f89..8fde4898d3 100644
--- 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/ExecutableInfo.java
+++ 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/ExecutableInfo.java
@@ -16,11 +16,14 @@
  */
 package org.apache.juneau.common.reflect;
 
+import static org.apache.juneau.common.reflect.ClassArrayFormat.*;
+import static org.apache.juneau.common.reflect.ClassNameFormat.*;
 import static org.apache.juneau.common.utils.CollectionUtils.*;
 import static org.apache.juneau.common.utils.PredicateUtils.*;
 import static org.apache.juneau.common.utils.StringUtils.*;
 import static org.apache.juneau.common.utils.ThrowableUtils.*;
 import static org.apache.juneau.common.utils.Utils.*;
+import static java.util.stream.Collectors.*;
 
 import java.lang.annotation.*;
 import java.lang.reflect.*;
@@ -46,6 +49,8 @@ public abstract class ExecutableInfo extends AccessibleInfo {
        private final Supplier<List<ParameterInfo>> parameters = 
memoize(this::findParameters);
        private final Supplier<List<ClassInfo>> exceptions = 
memoize(this::findExceptions);
        private final Supplier<List<AnnotationInfo<Annotation>>> 
declaredAnnotations = memoize(this::findDeclaredAnnotations);
+       private final Supplier<String> shortName = memoize(this::findShortName);
+       private final Supplier<String> fullName = memoize(this::findFullName);
 
        /**
         * Constructor.
@@ -70,20 +75,6 @@ public abstract class ExecutableInfo extends AccessibleInfo {
                return this;
        }
 
-       /**
-        * Performs an action on every parameter that matches the specified 
filter.
-        *
-        * @param filter The filter, can be <jk>null</jk>.
-        * @param action The action to perform.
-        * @return This object.
-        */
-       public ExecutableInfo forEachParam(Predicate<ParameterInfo> filter, 
Consumer<ParameterInfo> action) {
-               for (var pi : getParameters())
-                       if (test(filter, pi))
-                               action.accept(pi);
-               return this;
-       }
-
        /**
         * Performs an action on all matching parameter annotations at the 
specified parameter index.
         *
@@ -94,6 +85,7 @@ public abstract class ExecutableInfo extends AccessibleInfo {
         * @param consumer The consumer.
         * @return This object.
         */
+       @Deprecated
        public final <A extends Annotation> ExecutableInfo 
forEachParameterAnnotation(int index, Class<A> type, Predicate<A> predicate, 
Consumer<A> consumer) {
                for (var a : getParameter(index).getAnnotations())
                        if (type.isInstance(a))
@@ -206,21 +198,23 @@ public abstract class ExecutableInfo extends 
AccessibleInfo {
         * @return The underlying executable name.
         */
        public final String getFullName() {
+               return fullName.get();
+       }
+
+       private String findFullName() {
                var sb = new StringBuilder(128);
-               ClassInfo dc = declaringClass;
-               PackageInfo pi = dc.getPackage();
+               var dc = declaringClass;
+               var pi = dc.getPackage();
                if (nn(pi))
                        sb.append(pi.getName()).append('.');
-               dc.appendNameFormatted(sb, ClassNameFormat.SHORT, true, '$', 
ClassArrayFormat.BRACKETS);
+               dc.appendNameFormatted(sb, SHORT, true, '$', BRACKETS);
                if (! isConstructor)
                        sb.append('.').append(getSimpleName());
                sb.append('(');
-               var params = getParameters();
-               for (int i = 0; i < params.size(); i++) {
-                       if (i > 0)
-                               sb.append(',');
-                       
params.get(i).getParameterType().appendNameFormatted(sb, ClassNameFormat.FULL, 
true, '$', ClassArrayFormat.BRACKETS);
-               }
+               sb.append(getParameters().stream()
+                       .map(p -> p.getParameterType().getNameFormatted(FULL, 
true, '$', BRACKETS))
+                       .collect(joining(","))
+               );
                sb.append(')');
                return sb.toString();
        }
@@ -268,16 +262,11 @@ public abstract class ExecutableInfo extends 
AccessibleInfo {
         * @return The underlying executable name.
         */
        public final String getShortName() {
-               var sb = new StringBuilder(64);
-               sb.append(getSimpleName()).append('(');
-               var params = getParameters();
-               for (int i = 0; i < params.size(); i++) {
-                       if (i > 0)
-                               sb.append(',');
-                       
sb.append(params.get(i).getParameterType().getNameSimple());
-               }
-               sb.append(')');
-               return sb.toString();
+               return shortName.get();
+       }
+
+       private String findShortName() {
+               return f("{0}({1})", getSimpleName(), 
getParameters().stream().map(p -> 
p.getParameterType().getNameSimple()).collect(joining(",")));
        }
 
        /**
@@ -315,17 +304,8 @@ public abstract class ExecutableInfo extends 
AccessibleInfo {
         */
        public final boolean hasMatchingParameterTypes(Class<?>...args) {
                var params = getParameters();
-               if (params.size() != args.length)
-                       return false;
-               for (var param : params) {
-                       boolean matched = false;
-                       for (var arg : args)
-                               if 
(param.getParameterType().isParentOfFuzzyPrimitives(arg))
-                                       matched = true;
-                       if (! matched)
-                               return false;
-               }
-               return true;
+               return params.size() == args.length
+                       && params.stream().allMatch(p -> 
stream(args).anyMatch(a -> p.getParameterType().isParentOfFuzzyPrimitives(a)));
        }
 
        /**
@@ -336,17 +316,8 @@ public abstract class ExecutableInfo extends 
AccessibleInfo {
         */
        public final boolean hasMatchingParameterTypes(ClassInfo...args) {
                var params = getParameters();
-               if (params.size() != args.length)
-                       return false;
-               for (var param : params) {
-                       boolean matched = false;
-                       for (var arg : args)
-                               if 
(param.getParameterType().isParentOfFuzzyPrimitives(arg.inner()))
-                                       matched = true;
-                       if (! matched)
-                               return false;
-               }
-               return true;
+               return params.size() == args.length
+                       && params.stream().allMatch(p -> 
stream(args).anyMatch(a -> p.getParameterType().isParentOfFuzzyPrimitives(a)));
        }
 
        /**
@@ -355,7 +326,7 @@ public abstract class ExecutableInfo extends AccessibleInfo 
{
         * @param names The names to test for.
         * @return <jk>true</jk> if this method has one of the names.
         */
-       public final boolean hasName(Set<String> names) {
+       public final boolean hasAnyName(Collection<String> names) {
                return names.contains(getSimpleName());
        }
 
@@ -375,11 +346,8 @@ public abstract class ExecutableInfo extends 
AccessibleInfo {
         * @param names The names to test for.
         * @return <jk>true</jk> if this method has one of the names.
         */
-       public final boolean hasName(String...names) {
-               for (var n : names)
-                       if (getSimpleName().equals(n))
-                               return true;
-               return false;
+       public final boolean hasAnyName(String...names) {
+               return stream(names).anyMatch(n -> eq(n, getSimpleName()));
        }
 
        /**
@@ -390,7 +358,7 @@ public abstract class ExecutableInfo extends AccessibleInfo 
{
         *
         * @return <jk>true</jk> if this executable has no parameters.
         */
-       public final boolean hasNoParams() {
+       public final boolean hasNoParameters() {
                return getParameterCount() == 0;
        }
 
@@ -403,7 +371,7 @@ public abstract class ExecutableInfo extends AccessibleInfo 
{
         * @param number The number of expected arguments.
         * @return <jk>true</jk> if this executable has this number of 
arguments.
         */
-       public final boolean hasNumParams(int number) {
+       public final boolean hasNumParameters(int number) {
                return getParameterCount() == number;
        }
 
@@ -427,13 +395,8 @@ public abstract class ExecutableInfo extends 
AccessibleInfo {
         */
        public final boolean hasParameterTypes(Class<?>...args) {
                var params = getParameters();
-               if (params.size() == args.length) {
-                       for (int i = 0; i < params.size(); i++)
-                               if (! 
params.get(i).getParameterType().inner().equals(args[i]))
-                                       return false;
-                       return true;
-               }
-               return false;
+               return params.size() == args.length
+                       && IntStream.range(0, args.length).allMatch(i -> 
params.get(i).getParameterType().is(args[i]));
        }
 
        /**
@@ -444,13 +407,8 @@ public abstract class ExecutableInfo extends 
AccessibleInfo {
         */
        public final boolean hasParameterTypes(ClassInfo...args) {
                var params = getParameters();
-               if (params.size() == args.length) {
-                       for (int i = 0; i < params.size(); i++)
-                               if (! 
params.get(i).getParameterType().inner().equals(args[i].inner()))
-                                       return false;
-                       return true;
-               }
-               return false;
+               return params.size() == args.length
+                       && IntStream.range(0, args.length).allMatch(i -> 
params.get(i).getParameterType().is(args[i]));
        }
 
        /**
@@ -467,7 +425,7 @@ public abstract class ExecutableInfo extends AccessibleInfo 
{
                        case DEPRECATED -> isDeprecated();
                        case NOT_DEPRECATED -> isNotDeprecated();
                        case HAS_PARAMS -> hasParameters();
-                       case HAS_NO_PARAMS -> hasNoParams();
+                       case HAS_NO_PARAMS -> hasNoParameters();
                        case SYNTHETIC -> isSynthetic();
                        case NOT_SYNTHETIC -> !isSynthetic();
                        case VARARGS -> isVarArgs();
@@ -589,10 +547,6 @@ public abstract class ExecutableInfo extends 
AccessibleInfo {
                return e.getTypeParameters();
        }
 
-       
//-----------------------------------------------------------------------------------------------------------------
-       // Medium Priority Methods (generic type information)
-       
//-----------------------------------------------------------------------------------------------------------------
-
        /**
         * Returns a string describing this executable, including type 
parameters.
         *
@@ -617,10 +571,6 @@ public abstract class ExecutableInfo extends 
AccessibleInfo {
                return e.toGenericString();
        }
 
-       
//-----------------------------------------------------------------------------------------------------------------
-       // Low Priority Methods (advanced annotation features)
-       
//-----------------------------------------------------------------------------------------------------------------
-
        /**
         * Returns an {@link AnnotatedType} object that represents the use of a 
type to specify the receiver type of the method/constructor.
         *
@@ -737,7 +687,7 @@ public abstract class ExecutableInfo extends AccessibleInfo 
{
                // Note that due to a bug involving Enum constructors, 
getGenericParameterTypes() may
                // always return an empty array.  This appears to be fixed in 
Java 8 b75.
                var ptt = e.getGenericParameterTypes();
-               final Type[] genericTypes;
+               Type[] genericTypes;
                if (ptt.length != ptc.length) {
                        // Bug in javac: generic type array excludes enclosing 
instance parameter
                        // for inner classes with at least one generic 
constructor parameter.
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 9aae734001..ca42063828 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
@@ -292,12 +292,6 @@ public class MethodInfo extends ExecutableInfo implements 
Comparable<MethodInfo>
                return this;
        }
 
-       @Override /* Overridden from ExecutableInfo */
-       public MethodInfo forEachParam(Predicate<ParameterInfo> filter, 
Consumer<ParameterInfo> action) {
-               super.forEachParam(filter, action);
-               return this;
-       }
-
        /**
         * Finds the annotation of the specified type defined on this method.
         *
diff --git 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/utils/ClassUtils.java
 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/utils/ClassUtils.java
index fc2c72a322..eafb20be7d 100644
--- 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/utils/ClassUtils.java
+++ 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/utils/ClassUtils.java
@@ -429,7 +429,7 @@ public class ClassUtils {
                if (s.contains("$$EnhancerBySpringCGLIB$$")) {
                        // Try to invoke getTargetClass() if available (Spring 
specific)
                        Value<Class<?>> v = Value.empty();
-                       ClassInfo.of(c).forEachPublicMethod(m -> 
m.hasName("getTargetClass") && m.hasNoParams() && m.hasReturnType(Class.class), 
m -> safe(() -> v.set(m.invoke(o))));
+                       ClassInfo.of(c).forEachPublicMethod(m -> 
m.hasName("getTargetClass") && m.hasNoParameters() && 
m.hasReturnType(Class.class), m -> safe(() -> v.set(m.invoke(o))));
                        return v.isPresent() ? v.get() : c.getSuperclass();
                }
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMeta.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMeta.java
index 4c28f06b03..b3c2f4e913 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMeta.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMeta.java
@@ -253,12 +253,12 @@ public class BeanMeta<T> {
                                        constructor = x;
                                        constructorArgs = new String[0];
                                        ctx.forEachAnnotation(Beanc.class, 
x.inner(), y -> ! y.properties().isEmpty(), z -> constructorArgs = 
splita(z.properties()));
-                                       if (! 
x.hasNumParams(constructorArgs.length)) {
+                                       if (! 
x.hasNumParameters(constructorArgs.length)) {
                                                if (constructorArgs.length != 0)
-                                                       throw new 
BeanRuntimeException(c, "Number of properties defined in '@Beanc' annotation 
does not match number of parameters in constructor.");
+                                               throw new 
BeanRuntimeException(c, "Number of properties defined in '@Beanc' annotation 
does not match number of parameters in constructor.");
                                                constructorArgs = new 
String[x.getParameterCount()];
                                                var i = IntegerValue.create();
-                                               x.forEachParam(null, pi -> {
+                                               x.getParameters().forEach(pi -> 
{
                                                        String pn = 
pi.getName();
                                                        if (pn == null)
                                                                throw new 
BeanRuntimeException(c, "Could not find name for parameter #{0} of constructor 
''{1}''", i, x.getFullName());
@@ -276,15 +276,15 @@ public class BeanMeta<T> {
                                                constructor = x;
                                                constructorArgs = new String[0];
                                                
ctx.forEachAnnotation(Beanc.class, x.inner(), y -> ! y.properties().isEmpty(), 
z -> constructorArgs = splita(z.properties()));
-                                               if (! 
x.hasNumParams(constructorArgs.length)) {
+                                               if (! 
x.hasNumParameters(constructorArgs.length)) {
                                                        if 
(constructorArgs.length != 0)
-                                                               throw new 
BeanRuntimeException(c, "Number of properties defined in '@Beanc' annotation 
does not match number of parameters in constructor.");
-                                                       constructorArgs = new 
String[x.getParameterCount()];
-                                                       var i = 
IntegerValue.create();
-                                                       x.forEachParam(null, y 
-> {
-                                                               String pn = 
y.getName();
-                                                               if (pn == null)
-                                                                       throw 
new BeanRuntimeException(c, "Could not find name for parameter #{0} of 
constructor ''{1}''", i, x.getFullName());
+                                                       throw new 
BeanRuntimeException(c, "Number of properties defined in '@Beanc' annotation 
does not match number of parameters in constructor.");
+                                               constructorArgs = new 
String[x.getParameterCount()];
+                                               var i = IntegerValue.create();
+                                               x.getParameters().forEach(y -> {
+                                                       String pn = y.getName();
+                                                       if (pn == null)
+                                                               throw new 
BeanRuntimeException(c, "Could not find name for parameter #{0} of constructor 
''{1}''", i, x.getFullName());
                                                                
constructorArgs[i.getAndIncrement()] = pn;
                                                        });
                                                }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanProxyInvocationHandler.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanProxyInvocationHandler.java
index 202bece6d2..202c0fc9b3 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanProxyInvocationHandler.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanProxyInvocationHandler.java
@@ -75,10 +75,10 @@ public class BeanProxyInvocationHandler<T> implements 
InvocationHandler {
                        return this.beanProps.equals(bean);
                }
 
-               if (mi.hasName("hashCode") && mi.hasNoParams())
+               if (mi.hasName("hashCode") && mi.hasNoParameters())
                        return Integer.valueOf(this.beanProps.hashCode());
 
-               if (mi.hasName("toString") && mi.hasNoParams())
+               if (mi.hasName("toString") && mi.hasNoParameters())
                        return Json5Serializer.DEFAULT.toString(this.beanProps);
 
                String prop = this.meta.getterProps.get(method);
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java
index 1745a0c51a..93282bcacf 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java
@@ -229,13 +229,13 @@ public class ClassMeta<T> implements Type {
                        for (int i = methods.size() - 1; i >= 0; i--) {
                                MethodInfo m = methods.get(i);
                                if (m.hasAnnotation(bc, ParentProperty.class)) {
-                                       if (m.isStatic() || ! m.hasNumParams(1))
+                                       if (m.isStatic() || ! 
m.hasNumParameters(1))
                                                throw new 
ClassMetaRuntimeException(c, "@ParentProperty used on invalid method ''{0}''.  
Must not be static and have one argument.", m);
                                        m.setAccessible();
                                        parentPropertyMethod = new 
Setter.MethodSetter(m.inner());
                                }
                                if (m.hasAnnotation(bc, NameProperty.class)) {
-                                       if (m.isStatic() || ! m.hasNumParams(1))
+                                       if (m.isStatic() || ! 
m.hasNumParameters(1))
                                                throw new 
ClassMetaRuntimeException(c, "@NameProperty used on invalid method ''{0}''.  
Must not be static and have one argument.", m);
                                        m.setAccessible();
                                        namePropertyMethod = new 
Setter.MethodSetter(m.inner());
@@ -297,7 +297,7 @@ public class ClassMeta<T> implements Type {
 
                        if (innerClass != Object.class) {
                                ClassInfo x = implClass == null ? ci : 
ClassInfo.of(implClass);
-                               noArgConstructor = 
x.getPublicConstructor(ConstructorInfo::hasNoParams);
+                               noArgConstructor = 
x.getPublicConstructor(ConstructorInfo::hasNoParameters);
                        }
 
                        try {
@@ -553,7 +553,7 @@ public class ClassMeta<T> implements Type {
                ConstructorInfo cc = ci.getPublicConstructor(
                        x -> x.isVisible(v)
                        && x.isNotDeprecated()
-                       && x.hasNumParams(isMemberClass ? 1 : 0)
+                       && x.hasNumParameters(isMemberClass ? 1 : 0)
                );
                // @formatter:on
                if (nn(cc))
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Context.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Context.java
index fe47a2f8ba..62baaa93c3 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Context.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Context.java
@@ -650,7 +650,7 @@ public abstract class Context implements AnnotationProvider 
{
                        if (cci == null) {
                                // @formatter:off
                                cci = ClassInfo.of(type).getPublicConstructor(
-                                       x -> x.hasNumParams(1)
+                                       x -> x.hasNumParameters(1)
                                        && x.getParameter(0).canAccept(this)
                                );
                                // @formatter:on
@@ -730,7 +730,7 @@ public abstract class Context implements AnnotationProvider 
{
                        if (mi == null) {
                                var c = ClassInfo.of(type);
                                for (var ci : c.getPublicConstructors()) {
-                                       if (ci.matches(x -> x.hasNumParams(1) 
&& ! x.getParameter(0).getParameterType().is(type))) {
+                                       if (ci.matches(x -> 
x.hasNumParameters(1) && ! x.getParameter(0).getParameterType().is(type))) {
                                                // @formatter:off
                                                mi = c.getPublicMethod(
                                                        x -> x.isStatic()
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanCreator.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanCreator.java
index 3782a6f758..619234c97b 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanCreator.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanCreator.java
@@ -252,7 +252,7 @@ public class BeanCreator<T> {
                        MethodInfo m = type.getPublicMethod(
                                x -> x.isStatic()
                                && x.isNotDeprecated()
-                               && x.hasNumParams(1)
+                               && x.hasNumParameters(1)
                                && x.getParameter(0).canAccept(builder)
                                && x.hasReturnType(type)
                                && x.hasNoAnnotation(BeanIgnore.class)
@@ -269,7 +269,7 @@ public class BeanCreator<T> {
                        MethodInfo m = type.getPublicMethod(
                                x -> x.isStatic()
                                && x.isNotDeprecated()
-                               && x.hasNoParams()
+                               && x.hasNoParameters()
                                && x.hasReturnType(type)
                                && x.hasNoAnnotation(BeanIgnore.class)
                                && x.hasName("getInstance")
@@ -331,7 +331,7 @@ public class BeanCreator<T> {
                if (builder == null) {
                        // Look for static-builder/protected-constructor pair.
                        Value<T> value = Value.empty();
-                       type.forEachDeclaredConstructor(x -> x.hasNumParams(1) 
&& x.isVisible(PROTECTED), x -> {
+                       type.forEachDeclaredConstructor(x -> 
x.hasNumParameters(1) && x.isVisible(PROTECTED), x -> {
                                Class<?> pt = 
x.getParameter(0).getParameterType().inner();
                                MethodInfo m = type.getPublicMethod(y -> 
isStaticCreateMethod(y, pt));
                                if (nn(m)) {
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanStore.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanStore.java
index a7f4bdbfb9..d03fd9fc02 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanStore.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanStore.java
@@ -118,7 +118,7 @@ public class BeanStore {
                        // @formatter:off
                        MethodInfo m = c.getDeclaredMethod(
                                x -> x.isPublic()
-                               && x.hasNoParams()
+                               && x.hasNoParameters()
                                && x.isStatic()
                                && x.hasName("getInstance")
                        );
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/ResponseBeanMeta.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/ResponseBeanMeta.java
index e030e76e2d..33e3859641 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/ResponseBeanMeta.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/ResponseBeanMeta.java
@@ -93,7 +93,7 @@ public class ResponseBeanMeta {
                                        assertReturnType(x, Header.class, 
int.class, Integer.class);
                                        statusMethod = 
ResponseBeanPropertyMeta.create(RESPONSE_STATUS, x);
                                } else if (x.hasAnnotation(Content.class)) {
-                                       if (x.hasNoParams())
+                                       if (x.hasNoParameters())
                                                assertReturnNotVoid(x, 
Header.class);
                                        else
                                                assertArgType(x, Header.class, 
OutputStream.class, Writer.class);
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSet.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSet.java
index e08d96f895..568ff58244 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSet.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSet.java
@@ -388,7 +388,7 @@ public class ParserSet {
                        if (o instanceof Class) {
 
                                // Check for no-arg constructor.
-                               ConstructorInfo ci = 
ClassInfo.of((Class<?>)o).getPublicConstructor(ConstructorInfo::hasNoParams);
+                               ConstructorInfo ci = 
ClassInfo.of((Class<?>)o).getPublicConstructor(ConstructorInfo::hasNoParameters);
                                if (nn(ci))
                                        return ci.newInstance();
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/Mutaters.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/Mutaters.java
index 57b776efb4..d4ceaebce8 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/Mutaters.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/Mutaters.java
@@ -309,7 +309,7 @@ public class Mutaters {
                // @formatter:off
                return ic.getPublicMethod(
                        x -> x.isNotStatic()
-                       && x.hasNoParams()
+                       && x.hasNoParameters()
                        && x.getSimpleName().startsWith("to")
                        && x.getSimpleName().substring(2).equalsIgnoreCase(tn)
                );
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerSet.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerSet.java
index 02954ffc70..7f3217ed7a 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerSet.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerSet.java
@@ -384,7 +384,7 @@ public class SerializerSet {
                        if (o instanceof Class) {
 
                                // Check for no-arg constructor.
-                               ConstructorInfo ci = 
ClassInfo.of((Class<?>)o).getPublicConstructor(ConstructorInfo::hasNoParams);
+                               ConstructorInfo ci = 
ClassInfo.of((Class<?>)o).getPublicConstructor(ConstructorInfo::hasNoParameters);
                                if (nn(ci))
                                        return ci.newInstance();
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolverSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolverSession.java
index 706fb3b673..f0065c2395 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolverSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolverSession.java
@@ -267,7 +267,7 @@ public class VarResolverSession {
                                if (! containsVars(c))
                                        return o;
                                Set c2 = null;
-                               var ci = 
ClassInfo.of(o).getDeclaredConstructor(x -> x.isPublic() && x.hasNoParams());
+                               var ci = 
ClassInfo.of(o).getDeclaredConstructor(x -> x.isPublic() && 
x.hasNoParameters());
                                if (ci != null) {
                                        c2 = (Set)ci.inner().newInstance();
                                } else {
@@ -287,7 +287,7 @@ public class VarResolverSession {
                                if (! containsVars(c))
                                        return o;
                                List c2 = null;
-                               var ci = 
ClassInfo.of(o).getDeclaredConstructor(x -> x.isPublic() && x.hasNoParams());
+                               var ci = 
ClassInfo.of(o).getDeclaredConstructor(x -> x.isPublic() && 
x.hasNoParameters());
                                if (ci != null) {
                                        c2 = (List)ci.inner().newInstance();
                                } else {
@@ -307,7 +307,7 @@ public class VarResolverSession {
                                if (! containsVars(m))
                                        return o;
                                Map m2 = null;
-                               var ci = 
ClassInfo.of(o).getDeclaredConstructor(x -> x.isPublic() && x.hasNoParams());
+                               var ci = 
ClassInfo.of(o).getDeclaredConstructor(x -> x.isPublic() && 
x.hasNoParameters());
                                if (ci != null) {
                                        m2 = (Map)ci.inner().newInstance();
                                } else {
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/AutoListSwap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/AutoListSwap.java
index 8fd8e55075..6b5d4cf536 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/AutoListSwap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/AutoListSwap.java
@@ -130,7 +130,7 @@ public class AutoListSwap<T> extends ObjectSwap<T,List<?>> {
                        mi.isNotDeprecated()
                        && mi.isNotStatic()
                        && mi.isVisible(bc.getBeanMethodVisibility())
-                       && mi.hasName(SWAP_METHOD_NAMES)
+                       && mi.hasAnyName(SWAP_METHOD_NAMES)
                        && mi.hasReturnTypeParent(List.class)
                        && mi.hasFuzzyParameterTypes(BeanSession.class)
                        && mi.hasNoAnnotation(bc, BeanIgnore.class);
@@ -153,7 +153,7 @@ public class AutoListSwap<T> extends ObjectSwap<T,List<?>> {
                        mi.isNotDeprecated()
                        && mi.isStatic()
                        && mi.isVisible(bc.getBeanMethodVisibility())
-                       && mi.hasName(UNSWAP_METHOD_NAMES)
+                       && mi.hasAnyName(UNSWAP_METHOD_NAMES)
                        && mi.hasFuzzyParameterTypes(BeanSession.class, 
rt.inner())
                        && mi.hasReturnTypeParent(ci)
                        && mi.hasNoAnnotation(bc, BeanIgnore.class);
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/AutoMapSwap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/AutoMapSwap.java
index 82d2245825..6884b98c47 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/AutoMapSwap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/AutoMapSwap.java
@@ -130,7 +130,7 @@ public class AutoMapSwap<T> extends ObjectSwap<T,Map<?,?>> {
                        mi.isNotDeprecated()
                        && mi.isNotStatic()
                        && mi.isVisible(bc.getBeanMethodVisibility())
-                       && mi.hasName(SWAP_METHOD_NAMES)
+                       && mi.hasAnyName(SWAP_METHOD_NAMES)
                        && mi.hasReturnTypeParent(Map.class)
                        && mi.hasFuzzyParameterTypes(BeanSession.class)
                        && mi.hasNoAnnotation(bc, BeanIgnore.class);
@@ -153,7 +153,7 @@ public class AutoMapSwap<T> extends ObjectSwap<T,Map<?,?>> {
                        mi.isNotDeprecated()
                        && mi.isStatic()
                        && mi.isVisible(bc.getBeanMethodVisibility())
-                       && mi.hasName(UNSWAP_METHOD_NAMES)
+                       && mi.hasAnyName(UNSWAP_METHOD_NAMES)
                        && mi.hasFuzzyParameterTypes(BeanSession.class, 
rt.inner())
                        && mi.hasReturnTypeParent(ci)
                        && mi.hasNoAnnotation(bc, BeanIgnore.class);
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/AutoNumberSwap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/AutoNumberSwap.java
index cda1e5ea84..d5598718b2 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/AutoNumberSwap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/AutoNumberSwap.java
@@ -156,7 +156,7 @@ public class AutoNumberSwap<T> extends ObjectSwap<T,Number> 
{
                        && mi.isNotStatic()
                        && mi.isVisible(bc.getBeanMethodVisibility())
                        && (rt.isChildOf(Number.class) || (rt.isPrimitive() && 
rt.isAny(int.class, short.class, long.class, float.class, double.class, 
byte.class)))
-                       && mi.hasName(SWAP_METHOD_NAMES)
+                       && mi.hasAnyName(SWAP_METHOD_NAMES)
                        && mi.hasFuzzyParameterTypes(BeanSession.class)
                        && mi.hasNoAnnotation(bc, BeanIgnore.class);
                // @formatter:on
@@ -178,7 +178,7 @@ public class AutoNumberSwap<T> extends ObjectSwap<T,Number> 
{
                        mi.isNotDeprecated()
                        && mi.isStatic()
                        && mi.isVisible(bc.getBeanMethodVisibility())
-                       && mi.hasName(UNSWAP_METHOD_NAMES)
+                       && mi.hasAnyName(UNSWAP_METHOD_NAMES)
                        && mi.hasFuzzyParameterTypes(BeanSession.class, 
rt.inner())
                        && mi.hasReturnTypeParent(ci)
                        && mi.hasNoAnnotation(bc, BeanIgnore.class);
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/AutoObjectSwap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/AutoObjectSwap.java
index 2afe8dfba4..5f6dad2a8f 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/AutoObjectSwap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/AutoObjectSwap.java
@@ -132,7 +132,7 @@ public class AutoObjectSwap<T> extends ObjectSwap<T,Object> 
{
                        mi.isNotDeprecated()
                        && mi.isNotStatic()
                        && mi.isVisible(bc.getBeanMethodVisibility())
-                       && mi.hasName(SWAP_METHOD_NAMES)
+                       && mi.hasAnyName(SWAP_METHOD_NAMES)
                        && mi.hasFuzzyParameterTypes(BeanSession.class)
                        && mi.hasNoAnnotation(bc, BeanIgnore.class);
                // @formatter:on
@@ -154,7 +154,7 @@ public class AutoObjectSwap<T> extends ObjectSwap<T,Object> 
{
                        mi.isNotDeprecated()
                        && mi.isStatic()
                        && mi.isVisible(bc.getBeanMethodVisibility())
-                       && mi.hasName(UNSWAP_METHOD_NAMES)
+                       && mi.hasAnyName(UNSWAP_METHOD_NAMES)
                        && mi.hasFuzzyParameterTypes(BeanSession.class, 
rt.inner())
                        && mi.hasReturnTypeParent(ci)
                        && mi.hasNoAnnotation(bc, BeanIgnore.class);
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/BuilderSwap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/BuilderSwap.java
index a94d491219..cc103eed10 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/BuilderSwap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/BuilderSwap.java
@@ -110,7 +110,7 @@ public class BuilderSwap<T,B> {
                        // @formatter:off
                        var cc = pci.getPublicConstructor(
                                x -> x.isVisible(cVis)
-                               && x.hasNumParams(1)
+                               && x.hasNumParameters(1)
                                && 
x.getParameter(0).getParameterType().isChildOf(Builder.class)
                        );
                        // @formatter:on
@@ -144,7 +144,7 @@ public class BuilderSwap<T,B> {
                // @formatter:off
                return c.getDeclaredMethod(
                        x -> x.isNotStatic()
-                       && x.hasNoParams()
+                       && x.hasNoParameters()
                        && (!x.hasReturnType(void.class))
                        && x.hasName("build")
                );
@@ -165,7 +165,7 @@ public class BuilderSwap<T,B> {
        private static boolean hasConstructorThatTakesType(ClassInfo c, 
ClassInfo argType) {
                // @formatter:off
                return nn(c.getPublicConstructor(
-                       x -> x.hasNumParams(1)
+                       x -> x.hasNumParameters(1)
                        && x.hasParameterTypes(argType)
                ));
                // @formatter:on
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/SurrogateSwap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/SurrogateSwap.java
index 31b5ecfbe4..95a71641ac 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/SurrogateSwap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/SurrogateSwap.java
@@ -54,7 +54,7 @@ public class SurrogateSwap<T,F> extends ObjectSwap<T,F> {
        public static List<SurrogateSwap<?,?>> findObjectSwaps(Class<?> c, 
BeanContext bc) {
                List<SurrogateSwap<?,?>> l = new LinkedList<>();
                var ci = ClassInfo.of(c);
-               ci.forEachPublicConstructor(x -> x.hasNoAnnotation(bc, 
BeanIgnore.class) && x.hasNumParams(1) && x.isPublic(), x -> {
+               ci.forEachPublicConstructor(x -> x.hasNoAnnotation(bc, 
BeanIgnore.class) && x.hasNumParameters(1) && x.isPublic(), x -> {
                        var pt = x.getParameter(0).getParameterType().inner();
                        if (! pt.equals(c.getDeclaringClass())) {
                                // Find the unswap method if there is one.
diff --git 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseContent.java
 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseContent.java
index a254ad2a3b..c9471f0cbf 100644
--- 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseContent.java
+++ 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseContent.java
@@ -270,7 +270,7 @@ public class ResponseContent implements HttpEntity {
 
                                        // Some HTTP responses have no body, so 
try to create these beans if they've got no-arg constructors.
                                        if (t == null && ! 
type.is(String.class)) {
-                                               ConstructorInfo c = 
type.getInfo().getPublicConstructor(ConstructorInfo::hasNoParams);
+                                               ConstructorInfo c = 
type.getInfo().getPublicConstructor(ConstructorInfo::hasNoParameters);
                                                if (nn(c)) {
                                                        try {
                                                                return 
c.<T>newInstance();
diff --git 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestRequest.java
 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestRequest.java
index c2d02c298c..bd45f89004 100644
--- 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestRequest.java
+++ 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestRequest.java
@@ -1952,7 +1952,7 @@ public class RestRequest extends BeanSession implements 
HttpUriRequest, Configur
                                                c = ci.getPublicConstructor(x 
-> x.hasParameterTypes(String.class, Throwable.class));
                                                if (nn(c))
                                                        throw 
c.<Throwable>newInstance(nn(message) ? message : 
response.getContent().asString(), null);
-                                               c = 
ci.getPublicConstructor(ConstructorInfo::hasNoParams);
+                                               c = 
ci.getPublicConstructor(ConstructorInfo::hasNoParameters);
                                                if (nn(c))
                                                        throw 
c.<Throwable>newInstance();
                                        }
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/common/reflect/ClassInfo_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/common/reflect/ClassInfo_Test.java
index aa3996e9ac..821bcff8e7 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/common/reflect/ClassInfo_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/common/reflect/ClassInfo_Test.java
@@ -441,7 +441,7 @@ public class ClassInfo_Test extends TestBase {
        }
 
        @Test void getPublicNoArgConstructor() {
-               check("E1()", 
e1.getPublicConstructor(ConstructorInfo::hasNoParams));
+               check("E1()", 
e1.getPublicConstructor(ConstructorInfo::hasNoParameters));
        }
 
        @Test void getConstructor() {
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/common/reflect/ConstructorInfoTest.java
 
b/juneau-utest/src/test/java/org/apache/juneau/common/reflect/ConstructorInfoTest.java
index e99f7c4d58..93cac4180f 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/common/reflect/ConstructorInfoTest.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/common/reflect/ConstructorInfoTest.java
@@ -107,7 +107,7 @@ class ConstructorInfoTest extends TestBase {
        }
        static ClassInfo b = ClassInfo.of(B.class);
        static ConstructorInfo
-               b_c1 = b.getPublicConstructor(ConstructorInfo::hasNoParams),
+               b_c1 = b.getPublicConstructor(ConstructorInfo::hasNoParameters),
                b_c2 = b.getPublicConstructor(x -> 
x.hasParameterTypes(String.class)),
                b_c3 = b.getDeclaredConstructor(x -> 
x.hasParameterTypes(int.class)),
                b_c4 = b.getPublicConstructor(x -> 
x.hasParameterTypes(String.class, String.class));
@@ -129,14 +129,9 @@ class ConstructorInfoTest extends TestBase {
        }
 
        @Test void forEachParam_fluentChaining() {
-               // Test that forEachParam returns ConstructorInfo for fluent 
chaining
-               ConstructorInfo result = b_c2.forEachParam(x -> true, x -> {});
-               assertSame(b_c2, result);
-               assertInstanceOf(ConstructorInfo.class, result);
-
-               // Test fluent chaining works
+               // Test stream operations on parameters
                int[] count = {0};
-               b_c4.forEachParam(x -> true, x -> count[0]++);
+               b_c4.getParameters().stream().filter(x -> true).forEach(x -> 
count[0]++);
                assertEquals(2, count[0]);
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/common/reflect/ExecutableInfo_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/common/reflect/ExecutableInfo_Test.java
index 4ead7db8c8..b0bc7c9f10 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/common/reflect/ExecutableInfo_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/common/reflect/ExecutableInfo_Test.java
@@ -72,12 +72,12 @@ class ExecutableInfo_Test extends TestBase {
        static ClassInfo a = ClassInfo.of(A.class);
 
        @Test void isConstructor() {
-               
assertTrue(a.getPublicConstructor(ConstructorInfo::hasNoParams).isConstructor());
+               
assertTrue(a.getPublicConstructor(ConstructorInfo::hasNoParameters).isConstructor());
                assertFalse(a.getPublicMethod(x -> 
x.hasName("foo")).isConstructor());
        }
 
        @Test void getDeclaringClass() {
-               check("A", 
a.getPublicConstructor(ConstructorInfo::hasNoParams).getDeclaringClass());
+               check("A", 
a.getPublicConstructor(ConstructorInfo::hasNoParameters).getDeclaringClass());
                check("A", a.getPublicMethod(x -> 
x.hasName("foo")).getDeclaringClass());
        }
 
@@ -93,9 +93,9 @@ class ExecutableInfo_Test extends TestBase {
        }
        static ClassInfo b = ClassInfo.of(B.class);
        static ExecutableInfo
-               b_c1 = b.getPublicConstructor(ConstructorInfo::hasNoParams),
+               b_c1 = b.getPublicConstructor(ConstructorInfo::hasNoParameters),
                b_c2 = b.getPublicConstructor(x -> 
x.hasParameterTypes(String.class)),
-               b_m1 = b.getPublicMethod(x -> x.hasName("m") && 
x.hasNoParams()),
+               b_m1 = b.getPublicMethod(x -> x.hasName("m") && 
x.hasNoParameters()),
                b_m2 = b.getPublicMethod(x -> x.hasName("m") && 
x.hasParameterTypes(String.class))
        ;
 
@@ -114,17 +114,17 @@ class ExecutableInfo_Test extends TestBase {
        }
 
        @Test void hasNoParams() {
-               assertEquals(true, b_c1.hasNoParams());
-               assertEquals(false, b_c2.hasNoParams());
-               assertEquals(true, b_m1.hasNoParams());
-               assertEquals(false, b_m2.hasNoParams());
+               assertEquals(true, b_c1.hasNoParameters());
+               assertEquals(false, b_c2.hasNoParameters());
+               assertEquals(true, b_m1.hasNoParameters());
+               assertEquals(false, b_m2.hasNoParameters());
        }
 
        @Test void hasNumParams() {
-               assertEquals(false, b_c1.hasNumParams(1));
-               assertEquals(true, b_c2.hasNumParams(1));
-               assertEquals(false, b_m1.hasNumParams(1));
-               assertEquals(true, b_m2.hasNumParams(1));
+               assertEquals(false, b_c1.hasNumParameters(1));
+               assertEquals(true, b_c2.hasNumParameters(1));
+               assertEquals(false, b_m1.hasNumParameters(1));
+               assertEquals(true, b_m2.hasNumParameters(1));
        }
 
        @Test void getParams() {
@@ -158,7 +158,7 @@ class ExecutableInfo_Test extends TestBase {
 
        @Test void getParam_indexOutOfBounds_noCache() {
                var b2 = ClassInfo.of(B.class);
-               assertThrowsWithMessage(IndexOutOfBoundsException.class, 
"Invalid index '0'.  No parameters.", 
()->b2.getPublicConstructor(ConstructorInfo::hasNoParams).getParameter(0));
+               assertThrowsWithMessage(IndexOutOfBoundsException.class, 
"Invalid index '0'.  No parameters.", 
()->b2.getPublicConstructor(ConstructorInfo::hasNoParameters).getParameter(0));
                assertThrowsWithMessage(IndexOutOfBoundsException.class, 
"Invalid index '-1'.  Parameter count: 1", ()->b2.getPublicConstructor(x -> 
x.hasParameterTypes(String.class)).getParameter(-1));
                assertThrowsWithMessage(IndexOutOfBoundsException.class, 
"Invalid index '1'.  Parameter count: 1", ()->b2.getPublicConstructor(x -> 
x.hasParameterTypes(String.class)).getParameter(1));
        }
@@ -246,12 +246,12 @@ class ExecutableInfo_Test extends TestBase {
        }
        static ClassInfo c = ClassInfo.of(C.class);
        static ConstructorInfo
-               c_c1=c.getPublicConstructor(ConstructorInfo::hasNoParams),
+               c_c1=c.getPublicConstructor(ConstructorInfo::hasNoParameters),
                c_c2=c.getPublicConstructor(x -> 
x.hasParameterTypes(String.class)),
                c_c3=c.getPublicConstructor(x -> x.hasParameterTypes(int.class))
        ;
        static MethodInfo
-               c_m1=c.getPublicMethod(x -> x.hasName("m") && x.hasNoParams()),
+               c_m1=c.getPublicMethod(x -> x.hasName("m") && 
x.hasNoParameters()),
                c_m2=c.getPublicMethod(x -> x.hasName("m") && 
x.hasParameterTypes(String.class)),
                c_m3=c.getPublicMethod(x -> x.hasName("m") && 
x.hasParameterTypes(int.class))
        ;
@@ -302,7 +302,7 @@ class ExecutableInfo_Test extends TestBase {
        }
        static ClassInfo d = ClassInfo.of(D.class);
        static ExecutableInfo
-               d_c=d.getPublicConstructor(ConstructorInfo::hasNoParams),
+               d_c=d.getPublicConstructor(ConstructorInfo::hasNoParameters),
                d_m=d.getPublicMethod(x -> x.hasName("m"))
        ;
 
@@ -509,37 +509,37 @@ class ExecutableInfo_Test extends TestBase {
        static ClassInfo x2 = ClassInfo.of(X.class);
 
        @Test void getFullName_method() {
-               
assertEquals("org.apache.juneau.common.reflect.ExecutableInfo_Test$X.foo()", 
x2.getPublicMethod(x -> x.hasName("foo") && x.hasNoParams()).getFullName());
+               
assertEquals("org.apache.juneau.common.reflect.ExecutableInfo_Test$X.foo()", 
x2.getPublicMethod(x -> x.hasName("foo") && x.hasNoParameters()).getFullName());
                
assertEquals("org.apache.juneau.common.reflect.ExecutableInfo_Test$X.foo(java.lang.String)",
 x2.getPublicMethod(x -> x.hasName("foo") && 
x.hasParameterTypes(String.class)).getFullName());
                
assertEquals("org.apache.juneau.common.reflect.ExecutableInfo_Test$X.foo(java.util.Map<java.lang.String,java.lang.Object>)",
 x2.getPublicMethod(x -> x.hasName("foo") && 
x.hasParameterTypes(Map.class)).getFullName());
        }
 
        @Test void getFullName_constructor() {
-               
assertEquals("org.apache.juneau.common.reflect.ExecutableInfo_Test$X()", 
x2.getPublicConstructor(ConstructorInfo::hasNoParams).getFullName());
+               
assertEquals("org.apache.juneau.common.reflect.ExecutableInfo_Test$X()", 
x2.getPublicConstructor(ConstructorInfo::hasNoParameters).getFullName());
                
assertEquals("org.apache.juneau.common.reflect.ExecutableInfo_Test$X(java.lang.String)",
 x2.getPublicConstructor(x -> x.hasParameterTypes(String.class)).getFullName());
                
assertEquals("org.apache.juneau.common.reflect.ExecutableInfo_Test$X(java.util.Map<java.lang.String,java.lang.Object>)",
 x2.getPublicConstructor(x -> x.hasParameterTypes(Map.class)).getFullName());
        }
 
        @Test void getShortName_method() {
-               assertEquals("foo()", x2.getPublicMethod(x -> x.hasName("foo") 
&& x.hasNoParams()).getShortName());
+               assertEquals("foo()", x2.getPublicMethod(x -> x.hasName("foo") 
&& x.hasNoParameters()).getShortName());
                assertEquals("foo(String)", x2.getPublicMethod(x -> 
x.hasName("foo") && x.hasParameterTypes(String.class)).getShortName());
                assertEquals("foo(Map)", x2.getPublicMethod(x -> 
x.hasName("foo") && x.hasParameterTypes(Map.class)).getShortName());
        }
 
        @Test void getShortName_constructor() {
-               assertEquals("X()", 
x2.getPublicConstructor(ConstructorInfo::hasNoParams).getShortName());
+               assertEquals("X()", 
x2.getPublicConstructor(ConstructorInfo::hasNoParameters).getShortName());
                assertEquals("X(String)", x2.getPublicConstructor(x -> 
x.hasParameterTypes(String.class)).getShortName());
                assertEquals("X(Map)", x2.getPublicConstructor(x -> 
x.hasParameterTypes(Map.class)).getShortName());
        }
 
        @Test void getSimpleName_method() {
-               assertEquals("foo", x2.getPublicMethod(x -> x.hasName("foo") && 
x.hasNoParams()).getSimpleName());
+               assertEquals("foo", x2.getPublicMethod(x -> x.hasName("foo") && 
x.hasNoParameters()).getSimpleName());
                assertEquals("foo", x2.getPublicMethod(x -> x.hasName("foo") && 
x.hasParameterTypes(String.class)).getSimpleName());
                assertEquals("foo", x2.getPublicMethod(x -> x.hasName("foo") && 
x.hasParameterTypes(Map.class)).getSimpleName());
        }
 
        @Test void getSimpleName_constructor() {
-               assertEquals("X", 
x2.getPublicConstructor(ConstructorInfo::hasNoParams).getSimpleName());
+               assertEquals("X", 
x2.getPublicConstructor(ConstructorInfo::hasNoParameters).getSimpleName());
                assertEquals("X", x2.getPublicConstructor(x -> 
x.hasParameterTypes(String.class)).getSimpleName());
                assertEquals("X", x2.getPublicConstructor(x -> 
x.hasParameterTypes(Map.class)).getSimpleName());
        }
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/common/reflect/MethodInfo_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/common/reflect/MethodInfo_Test.java
index ad4bb84573..5593941bc0 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/common/reflect/MethodInfo_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/common/reflect/MethodInfo_Test.java
@@ -415,14 +415,9 @@ class MethodInfo_Test extends TestBase {
        }
 
        @Test void forEachParam_fluentChaining() {
-               // Test that forEachParam returns MethodInfo for fluent chaining
-               MethodInfo result = g_a1b.forEachParam(x -> true, x -> {});
-               assertSame(g_a1b, result);
-               assertInstanceOf(MethodInfo.class, result);
-
-               // Test fluent chaining works
+               // Test stream operations on parameters
                int[] count = {0};
-               g_a1c.forEachParam(x -> true, x -> count[0]++);
+               g_a1c.getParameters().stream().filter(x -> true).forEach(x -> 
count[0]++);
                assertEquals(2, count[0]);
        }
 }
\ No newline at end of file

Reply via email to