diff --git a/src/main/java/org/springframework/hateoas/hal/Jackson2HalModule.java b/src/main/java/org/springframework/hateoas/hal/Jackson2HalModule.java index 1cffe929..bb0f4a82 100644 --- a/src/main/java/org/springframework/hateoas/hal/Jackson2HalModule.java +++ b/src/main/java/org/springframework/hateoas/hal/Jackson2HalModule.java @@ -265,11 +265,18 @@ public class Jackson2HalModule extends SimpleModule { return null; } + /* + * (non-Javadoc) + * @see com.fasterxml.jackson.databind.ser.ContainerSerializer#isEmpty(java.lang.Object) + */ + public boolean isEmpty(List value) { + return isEmpty(null, value); + } + /* * (non-Javadoc) * @see com.fasterxml.jackson.databind.JsonSerializer#isEmpty(com.fasterxml.jackson.databind.SerializerProvider, java.lang.Object) */ - @Override public boolean isEmpty(SerializerProvider provider, List value) { return value.isEmpty(); } @@ -356,7 +363,10 @@ public class Jackson2HalModule extends SimpleModule { return null; } - @Override + public boolean isEmpty(Collection value) { + return isEmpty(null, value); + } + public boolean isEmpty(SerializerProvider provider, Collection value) { return value.isEmpty(); } @@ -379,8 +389,8 @@ public class Jackson2HalModule extends SimpleModule { * @author Alexander Baetz * @author Oliver Gierke */ - public static class OptionalListJackson2Serializer extends ContainerSerializer implements - ContextualSerializer { + public static class OptionalListJackson2Serializer extends ContainerSerializer + implements ContextualSerializer { private final BeanProperty property; private final Map, JsonSerializer> serializers; @@ -415,8 +425,8 @@ public class Jackson2HalModule extends SimpleModule { * @see com.fasterxml.jackson.databind.ser.std.StdSerializer#serialize(java.lang.Object, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider) */ @Override - public void serialize(Object value, JsonGenerator jgen, SerializerProvider provider) throws IOException, - JsonGenerationException { + public void serialize(Object value, JsonGenerator jgen, SerializerProvider provider) + throws IOException, JsonGenerationException { List list = (List) value; @@ -488,11 +498,18 @@ public class Jackson2HalModule extends SimpleModule { return false; } + /* + * (non-Javadoc) + * @see com.fasterxml.jackson.databind.ser.ContainerSerializer#isEmpty(java.lang.Object) + */ + public boolean isEmpty(Object value) { + return isEmpty(null, value); + } + /* * (non-Javadoc) * @see com.fasterxml.jackson.databind.JsonSerializer#isEmpty(com.fasterxml.jackson.databind.SerializerProvider, java.lang.Object) */ - @Override public boolean isEmpty(SerializerProvider provider, Object value) { return false; } @@ -542,8 +559,8 @@ public class Jackson2HalModule extends SimpleModule { * @see com.fasterxml.jackson.databind.JsonDeserializer#deserialize(com.fasterxml.jackson.core.JsonParser, com.fasterxml.jackson.databind.DeserializationContext) */ @Override - public List deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, - JsonProcessingException { + public List deserialize(JsonParser jp, DeserializationContext ctxt) + throws IOException, JsonProcessingException { List result = new ArrayList(); String relation; @@ -573,8 +590,8 @@ public class Jackson2HalModule extends SimpleModule { } } - public static class HalResourcesDeserializer extends ContainerDeserializerBase> implements - ContextualDeserializer { + public static class HalResourcesDeserializer extends ContainerDeserializerBase> + implements ContextualDeserializer { private static final long serialVersionUID = 4755806754621032622L; @@ -747,7 +764,6 @@ public class Jackson2HalModule extends SimpleModule { * (non-Javadoc) * @see com.fasterxml.jackson.databind.JsonSerializer#isEmpty(java.lang.Object) */ - @Override public boolean isEmpty(Boolean value) { return isEmpty(null, value); } @@ -756,7 +772,6 @@ public class Jackson2HalModule extends SimpleModule { * (non-Javadoc) * @see com.fasterxml.jackson.databind.JsonSerializer#isEmpty(com.fasterxml.jackson.databind.SerializerProvider, java.lang.Object) */ - @Override public boolean isEmpty(SerializerProvider provider, Boolean value) { return value == null || Boolean.FALSE.equals(value); }