-
Notifications
You must be signed in to change notification settings - Fork 42
Expand file tree
/
Copy pathJsonNullableSerializers.java
More file actions
27 lines (23 loc) · 1.24 KB
/
JsonNullableSerializers.java
File metadata and controls
27 lines (23 loc) · 1.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package org.openapitools.jackson.nullable;
import com.fasterxml.jackson.annotation.JsonFormat.Value;
import tools.jackson.databind.MapperFeature;
import tools.jackson.databind.SerializationConfig;
import tools.jackson.databind.ValueSerializer;
import tools.jackson.databind.BeanDescription.Supplier;
import tools.jackson.databind.jsontype.TypeSerializer;
import tools.jackson.databind.ser.Serializers;
import tools.jackson.databind.type.ReferenceType;
public class JsonNullableSerializers extends Serializers.Base {
@Override
public ValueSerializer<?> findReferenceSerializer(SerializationConfig config,
ReferenceType refType, Supplier beanDescRef, Value formatOverrides,
TypeSerializer contentTypeSerializer, ValueSerializer<Object> contentValueSerializer) {
if (JsonNullable.class.isAssignableFrom(refType.getRawClass())) {
boolean staticTyping = (contentTypeSerializer == null)
&& config.isEnabled(MapperFeature.USE_STATIC_TYPING);
return new JsonNullableSerializer(refType, staticTyping,
contentTypeSerializer, contentValueSerializer);
}
return null;
}
}