@@ -167,28 +167,31 @@ private Map<String, Object> annotationMap(List<? extends AnnotationMirror> annot
167167 }
168168 String prefix = elem .getSimpleName ().toString ();
169169 // Set all values and then override with present values (fix for JDK 11+)
170- result .putAll (toMap (annotation .getElementValues (), prefix ));
170+ result .putAll (toMap (annotation .getElementValues (), prefix , false ));
171171
172172 // Defaults value only pick "value"
173- toMap (elements .getElementValuesWithDefaults (annotation ), prefix , "value" ::equals )
173+ toMap (elements .getElementValuesWithDefaults (annotation ), prefix , true , "value" ::equals )
174174 .forEach (result ::putIfAbsent );
175175 }
176176 return result ;
177177 }
178178
179179 private Map <String , Object > toMap (
180- Map <? extends ExecutableElement , ? extends AnnotationValue > values , String prefix ) {
181- return toMap (values , prefix , name -> true );
180+ Map <? extends ExecutableElement , ? extends AnnotationValue > values ,
181+ String prefix ,
182+ boolean defaults ) {
183+ return toMap (values , prefix , defaults , name -> true );
182184 }
183185
184186 private Map <String , Object > toMap (
185187 Map <? extends ExecutableElement , ? extends AnnotationValue > values ,
186188 String prefix ,
189+ boolean defaults ,
187190 Predicate <String > filter ) {
188191 Map <String , Object > result = new LinkedHashMap <>();
189192 for (var attribute : values .entrySet ()) {
190193 var value = annotationValue (attribute .getValue ());
191- if (value != null && !value .toString ().isEmpty ()) {
194+ if (defaults || ( value != null && !value .toString ().isEmpty () )) {
192195 var method = attribute .getKey ().getSimpleName ().toString ();
193196 if (filter .test (method )) {
194197 var name = method .equals ("value" ) ? prefix : prefix + "." + method ;
0 commit comments