Skip to content

Commit 4d62d4c

Browse files
committed
Merge branch '2.11' into 2.12
2 parents 24cd55f + c9b54d5 commit 4d62d4c

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

eclipse-collections/src/main/java/com/fasterxml/jackson/datatype/eclipsecollections/EclipseCollectionsSerializers.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@
44
import com.fasterxml.jackson.databind.JavaType;
55
import com.fasterxml.jackson.databind.JsonSerializer;
66
import com.fasterxml.jackson.databind.SerializationConfig;
7+
import com.fasterxml.jackson.databind.jsontype.TypeSerializer;
78
import com.fasterxml.jackson.databind.ser.Serializers;
9+
import com.fasterxml.jackson.databind.ser.std.CollectionSerializer;
10+
import com.fasterxml.jackson.databind.type.CollectionLikeType;
811
import com.fasterxml.jackson.datatype.eclipsecollections.ser.BooleanIterableSerializer;
912
import com.fasterxml.jackson.datatype.eclipsecollections.ser.ByteIterableSerializer;
1013
import com.fasterxml.jackson.datatype.eclipsecollections.ser.CharIterableSerializer;
@@ -28,6 +31,7 @@
2831
import org.eclipse.collections.api.LongIterable;
2932
import org.eclipse.collections.api.PrimitiveIterable;
3033
import org.eclipse.collections.api.ShortIterable;
34+
import org.eclipse.collections.api.collection.ImmutableCollection;
3135
import org.eclipse.collections.api.map.MapIterable;
3236
import org.eclipse.collections.api.map.primitive.ByteObjectMap;
3337
import org.eclipse.collections.api.map.primitive.CharObjectMap;
@@ -47,6 +51,25 @@
4751
import org.eclipse.collections.api.map.primitive.ShortObjectMap;
4852

4953
public final class EclipseCollectionsSerializers extends Serializers.Base {
54+
@Override
55+
public JsonSerializer<?> findCollectionLikeSerializer(
56+
SerializationConfig config,
57+
CollectionLikeType type,
58+
BeanDescription beanDesc,
59+
TypeSerializer elementTypeSerializer,
60+
JsonSerializer<Object> elementValueSerializer
61+
) {
62+
if (ImmutableCollection.class.isAssignableFrom(type.getRawClass())) {
63+
return new CollectionSerializer(
64+
type.getContentType(),
65+
false,
66+
elementTypeSerializer,
67+
elementValueSerializer
68+
);
69+
}
70+
return null;
71+
}
72+
5073
@Override
5174
public JsonSerializer<?> findSerializer(
5275
SerializationConfig config, JavaType type, BeanDescription beanDesc

0 commit comments

Comments
 (0)