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 a5eaf2902e Marshall module improvements
a5eaf2902e is described below

commit a5eaf2902e103aba8faf969a2a8cffa2cf1a40fb
Author: James Bognar <[email protected]>
AuthorDate: Wed Dec 10 10:37:52 2025 -0500

    Marshall module improvements
---
 .../juneau-marshall/src/main/java/org/apache/juneau/BeanMeta.java   | 6 +++---
 .../juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java  | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

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 347d150115..b3d18a4595 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
@@ -199,12 +199,12 @@ public class BeanMeta<T> {
         *
         * @param <T> The class type.
         * @param cm The class metadata for the class to create bean metadata 
for.
+        * @param implClass
         * @param bf Optional bean filter to apply. Can be <jk>null</jk>.
-        * @param pNames Explicit list of property names and order. If 
<jk>null</jk>, properties are determined automatically.
         * @param implClassConstructor Optional constructor to use if one 
cannot be found. Can be <jk>null</jk>.
         * @return A {@link BeanMetaValue} containing the bean metadata (if 
successful) or a reason why it's not a bean.
         */
-       public static <T> BeanMetaValue<T> create(ClassMeta<T> cm, String[] 
pNames, ConstructorInfo implClassConstructor) {
+       public static <T> BeanMetaValue<T> create(ClassMeta<T> cm, ClassInfo 
implClass) {
                try {
                        var bc = cm.getBeanContext();
                        var ap = bc.getAnnotationProvider();
@@ -222,7 +222,7 @@ public class BeanMeta<T> {
                        if ((! 
bc.getBeanClassVisibility().isVisible(cm.getModifiers()) || 
cm.isAnonymousClass()) && ! ap.has(Bean.class, cm))
                                return notABean("Class is not public");
 
-                       var bm = new BeanMeta<>(cm, findBeanFilter(cm), pNames, 
implClassConstructor);
+                       var bm = new BeanMeta<>(cm, findBeanFilter(cm), null, 
opt(implClass).map(x -> x.getPublicConstructor(x2 -> 
x2.hasNumParameters(0)).orElse(null)).orElse(null));
 
                        if (nn(bm.notABeanReason))
                                return notABean(bm.notABeanReason);
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 320d6c30db..fac8de4f8d 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
@@ -1313,7 +1313,7 @@ public class ClassMeta<T> extends ClassInfoTyped<T> {
        private BeanMeta.BeanMetaValue<T> findBeanMeta() {
                if (! cat.isUnknown())
                        return new BeanMeta.BeanMetaValue<>(null, "Known 
non-bean type");
-               return BeanMeta.create(this, null, implClass.map(x -> 
x.getPublicConstructor(x2 -> 
x2.hasNumParameters(0)).orElse(null)).orElse(null));
+               return BeanMeta.create(this, implClass.get());
        }
 
        private KeyValueTypes findKeyValueTypes() {

Reply via email to