From b833768ce3ba3bd16a55354cfe06956669e6dd68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vojt=C4=9Bch=20Habarta?= Date: Sat, 23 Sep 2017 22:43:46 +0200 Subject: [PATCH] JaxbAnnotationIntrospector.hasRequiredMarker() - fixed introspector chaining - when annotation is present authoritatively return false --- .../jackson/module/jaxb/JaxbAnnotationIntrospector.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/jaxb/src/main/java/com/fasterxml/jackson/module/jaxb/JaxbAnnotationIntrospector.java b/jaxb/src/main/java/com/fasterxml/jackson/module/jaxb/JaxbAnnotationIntrospector.java index 82b50da5..a2aeb484 100644 --- a/jaxb/src/main/java/com/fasterxml/jackson/module/jaxb/JaxbAnnotationIntrospector.java +++ b/jaxb/src/main/java/com/fasterxml/jackson/module/jaxb/JaxbAnnotationIntrospector.java @@ -441,13 +441,10 @@ public Boolean hasRequiredMarker(AnnotatedMember m) { if ((attr != null) && attr.required()) { return Boolean.TRUE; } - // 09-Sep-2015, tatu: Not 100% sure that we should ever return `false` - // here (as it blocks calls to secondary introspector), but since that - // was the existing behavior before 2.6, is retained for now. if ((elem != null) || (attr != null)) { - return null; + return Boolean.FALSE; } - return Boolean.FALSE; + return null; } @Override