This is an automated email from the ASF dual-hosted git repository. jlmonteiro pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/johnzon.git
The following commit(s) were added to refs/heads/master by this push: new ae36bf75 feat(#419): filter out static methods from records ae36bf75 is described below commit ae36bf750cf78b94d8cac5b54dfcfb1f321aff14 Author: Jean-Louis Monteiro <jlmonte...@tomitribe.com> AuthorDate: Wed Jul 2 22:17:58 2025 +0200 feat(#419): filter out static methods from records Signed-off-by: Jean-Louis Monteiro <jlmonte...@tomitribe.com> --- .../org/apache/johnzon/mapper/access/MethodAccessMode.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/access/MethodAccessMode.java b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/access/MethodAccessMode.java index 79e07acc..4c8aeeca 100644 --- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/access/MethodAccessMode.java +++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/access/MethodAccessMode.java @@ -26,6 +26,7 @@ import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.annotation.Annotation; import java.lang.reflect.Method; +import java.lang.reflect.Modifier; import java.lang.reflect.Type; import java.util.Collection; import java.util.HashMap; @@ -53,6 +54,7 @@ public class MethodAccessMode extends BaseAccessMode { if (isRecord(clazz) || Meta.getAnnotation(clazz, JohnzonRecord.class) != null) { readers.putAll(Stream.of(clazz.getMethods()) .filter(it -> it.getDeclaringClass() != Object.class && it.getParameterCount() == 0) + .filter(it -> !Modifier.isStatic(it.getModifiers())) .filter(it -> !"toString".equals(it.getName()) && !"hashCode".equals(it.getName())) .filter(it -> !isIgnored(it.getName()) && Meta.getAnnotation(it, JohnzonAny.class) == null) .collect(toMap(m -> extractKey(m.getName(), m, null), it -> new MethodReader(it, it.getGenericReturnType())))); @@ -92,10 +94,10 @@ public class MethodAccessMode extends BaseAccessMode { final Method writeMethod = descriptor.getWriteMethod(); if (writeMethod != null) { writers.put(extractKey(descriptor.getName(), writeMethod, descriptor.getReadMethod()), - new MethodWriter(writeMethod, writeMethod.getGenericParameterTypes()[0])); + new MethodWriter(writeMethod, writeMethod.getGenericParameterTypes()[0])); } else if (supportGetterAsWritter - && Collection.class.isAssignableFrom(descriptor.getPropertyType()) - && descriptor.getReadMethod() != null) { + && Collection.class.isAssignableFrom(descriptor.getPropertyType()) + && descriptor.getReadMethod() != null) { final Method readMethod = descriptor.getReadMethod(); writers.put(extractKey(descriptor.getName(), readMethod, null), new MethodGetterAsWriter(readMethod, readMethod.getGenericReturnType())); } @@ -169,8 +171,8 @@ public class MethodAccessMode extends BaseAccessMode { @Override public String toString() { return "MethodDecoratedType{" + - "method=" + method + - '}'; + "method=" + method + + '}'; } }