From 3485cbb5d134b8d140ff1811b4cc47fe38fe6bf3 Mon Sep 17 00:00:00 2001 From: Andreas Hufler Date: Wed, 7 May 2025 14:53:16 +0200 Subject: [PATCH] ignore static fields --- .../testing/validation/core/RuleValidator.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/it/aboutbits/springboot/testing/validation/core/RuleValidator.java b/src/main/java/it/aboutbits/springboot/testing/validation/core/RuleValidator.java index fbd0c6f..e77a595 100644 --- a/src/main/java/it/aboutbits/springboot/testing/validation/core/RuleValidator.java +++ b/src/main/java/it/aboutbits/springboot/testing/validation/core/RuleValidator.java @@ -12,6 +12,7 @@ import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Modifier; import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; @@ -367,6 +368,10 @@ private static Set getAllPropertiesOf(T object) { var properties = new HashSet(); for (var field : clazz.getDeclaredFields()) { + if (Modifier.isStatic(field.getModifiers())) { + continue; + } + properties.add(field.getName()); } @@ -410,7 +415,11 @@ private static Field[] getAllFields(Class initialClazz) { var fields = new ArrayList(); while (clazz != null) { - fields.addAll(Arrays.asList(clazz.getDeclaredFields())); + var newFields = Arrays.stream(clazz.getDeclaredFields()) + .filter(field -> !Modifier.isStatic(field.getModifiers())) + .toList(); + + fields.addAll(newFields); clazz = clazz.getSuperclass(); } return fields.toArray(new Field[0]);