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() {