Skip to content

Commit 4e1e5ed

Browse files
committed
spring-projects#383 - Reinstantiated Jackson 2.4 compatibility.
Re-introduced the simple isEmpty(…) methods in custom Jackson serializers as the more complex ones were introduced in Jackson 2.5 only. Removed the @OverRide annotations so that we could even compile against 2.4 if needed.
1 parent dd4ec34 commit 4e1e5ed

File tree

1 file changed

+28
-13
lines changed

1 file changed

+28
-13
lines changed

src/main/java/org/springframework/hateoas/hal/Jackson2HalModule.java

Lines changed: 28 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -265,11 +265,18 @@ public JsonSerializer<?> getContentSerializer() {
265265
return null;
266266
}
267267

268+
/*
269+
* (non-Javadoc)
270+
* @see com.fasterxml.jackson.databind.ser.ContainerSerializer#isEmpty(java.lang.Object)
271+
*/
272+
public boolean isEmpty(List<Link> value) {
273+
return isEmpty(null, value);
274+
}
275+
268276
/*
269277
* (non-Javadoc)
270278
* @see com.fasterxml.jackson.databind.JsonSerializer#isEmpty(com.fasterxml.jackson.databind.SerializerProvider, java.lang.Object)
271279
*/
272-
@Override
273280
public boolean isEmpty(SerializerProvider provider, List<Link> value) {
274281
return value.isEmpty();
275282
}
@@ -356,7 +363,10 @@ public JsonSerializer<?> getContentSerializer() {
356363
return null;
357364
}
358365

359-
@Override
366+
public boolean isEmpty(Collection<?> value) {
367+
return isEmpty(null, value);
368+
}
369+
360370
public boolean isEmpty(SerializerProvider provider, Collection<?> value) {
361371
return value.isEmpty();
362372
}
@@ -379,8 +389,8 @@ protected ContainerSerializer<?> _withValueTypeSerializer(TypeSerializer vts) {
379389
* @author Alexander Baetz
380390
* @author Oliver Gierke
381391
*/
382-
public static class OptionalListJackson2Serializer extends ContainerSerializer<Object> implements
383-
ContextualSerializer {
392+
public static class OptionalListJackson2Serializer extends ContainerSerializer<Object>
393+
implements ContextualSerializer {
384394

385395
private final BeanProperty property;
386396
private final Map<Class<?>, JsonSerializer<Object>> serializers;
@@ -415,8 +425,8 @@ public ContainerSerializer<?> _withValueTypeSerializer(TypeSerializer vts) {
415425
* @see com.fasterxml.jackson.databind.ser.std.StdSerializer#serialize(java.lang.Object, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider)
416426
*/
417427
@Override
418-
public void serialize(Object value, JsonGenerator jgen, SerializerProvider provider) throws IOException,
419-
JsonGenerationException {
428+
public void serialize(Object value, JsonGenerator jgen, SerializerProvider provider)
429+
throws IOException, JsonGenerationException {
420430

421431
List<?> list = (List<?>) value;
422432

@@ -488,11 +498,18 @@ public boolean hasSingleElement(Object arg0) {
488498
return false;
489499
}
490500

501+
/*
502+
* (non-Javadoc)
503+
* @see com.fasterxml.jackson.databind.ser.ContainerSerializer#isEmpty(java.lang.Object)
504+
*/
505+
public boolean isEmpty(Object value) {
506+
return isEmpty(null, value);
507+
}
508+
491509
/*
492510
* (non-Javadoc)
493511
* @see com.fasterxml.jackson.databind.JsonSerializer#isEmpty(com.fasterxml.jackson.databind.SerializerProvider, java.lang.Object)
494512
*/
495-
@Override
496513
public boolean isEmpty(SerializerProvider provider, Object value) {
497514
return false;
498515
}
@@ -542,8 +559,8 @@ public JsonDeserializer<Object> getContentDeserializer() {
542559
* @see com.fasterxml.jackson.databind.JsonDeserializer#deserialize(com.fasterxml.jackson.core.JsonParser, com.fasterxml.jackson.databind.DeserializationContext)
543560
*/
544561
@Override
545-
public List<Link> deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException,
546-
JsonProcessingException {
562+
public List<Link> deserialize(JsonParser jp, DeserializationContext ctxt)
563+
throws IOException, JsonProcessingException {
547564

548565
List<Link> result = new ArrayList<Link>();
549566
String relation;
@@ -573,8 +590,8 @@ public List<Link> deserialize(JsonParser jp, DeserializationContext ctxt) throws
573590
}
574591
}
575592

576-
public static class HalResourcesDeserializer extends ContainerDeserializerBase<List<Object>> implements
577-
ContextualDeserializer {
593+
public static class HalResourcesDeserializer extends ContainerDeserializerBase<List<Object>>
594+
implements ContextualDeserializer {
578595

579596
private static final long serialVersionUID = 4755806754621032622L;
580597

@@ -747,7 +764,6 @@ public TrueOnlyBooleanSerializer() {
747764
* (non-Javadoc)
748765
* @see com.fasterxml.jackson.databind.JsonSerializer#isEmpty(java.lang.Object)
749766
*/
750-
@Override
751767
public boolean isEmpty(Boolean value) {
752768
return isEmpty(null, value);
753769
}
@@ -756,7 +772,6 @@ public boolean isEmpty(Boolean value) {
756772
* (non-Javadoc)
757773
* @see com.fasterxml.jackson.databind.JsonSerializer#isEmpty(com.fasterxml.jackson.databind.SerializerProvider, java.lang.Object)
758774
*/
759-
@Override
760775
public boolean isEmpty(SerializerProvider provider, Boolean value) {
761776
return value == null || Boolean.FALSE.equals(value);
762777
}

0 commit comments

Comments
 (0)