1 package com.fasterxml.jackson.datatype.jdk8;
2
3 import java.util.*;
4
5 import com.fasterxml.jackson.databind.*;
6 import com.fasterxml.jackson.databind.deser.Deserializers;
7 import com.fasterxml.jackson.databind.jsontype.TypeDeserializer;
8 import com.fasterxml.jackson.databind.type.ReferenceType;
9
10 public class Jdk8Deserializers
11 extends Deserializers.Base
12 implements java.io.Serializable
13 {
14 private static final long serialVersionUID = 1L;
15
16 @Override
17 public JsonDeserializer<?> findReferenceDeserializer(ReferenceType refType,
18 DeserializationConfig config, BeanDescription beanDesc,
19 TypeDeserializer contentTypeDeserializer, JsonDeserializer<?> contentDeserializer)
20 {
21 if (refType.hasRawClass(Optional.class)) {
22 return new OptionalDeserializer(refType, null, contentTypeDeserializer,contentDeserializer);
23 }
24
25
26
27
28 if (refType.hasRawClass(OptionalInt.class)) {
29 return OptionalIntDeserializer.INSTANCE;
30 }
31 if (refType.hasRawClass(OptionalLong.class)) {
32 return OptionalLongDeserializer.INSTANCE;
33 }
34 if (refType.hasRawClass(OptionalDouble.class)) {
35 return OptionalDoubleDeserializer.INSTANCE;
36 }
37 return null;
38 }
39 }
40