1 package com.fasterxml.jackson.databind.module;
2
3 import java.util.Collection;
4 import java.util.HashMap;
5 import java.util.Map;
6
7
8 import com.fasterxml.jackson.databind.*;
9 import com.fasterxml.jackson.databind.deser.KeyDeserializers;
10 import com.fasterxml.jackson.databind.type.ClassKey;
11
12
22 public class SimpleKeyDeserializers
23 implements KeyDeserializers, java.io.Serializable
24 {
25 private static final long serialVersionUID = 1L;
26
27 protected HashMap<ClassKey,KeyDeserializer> _classMappings = null;
28
29
34
35 public SimpleKeyDeserializers() { }
36
37 public SimpleKeyDeserializers addDeserializer(Class<?> forClass, KeyDeserializer deser)
38 {
39 if (_classMappings == null) {
40 _classMappings = new HashMap<ClassKey,KeyDeserializer>();
41 }
42 _classMappings.put(new ClassKey(forClass), deser);
43 return this;
44 }
45
46
51
52 @Override
53 public KeyDeserializer findKeyDeserializer(JavaType type,
54 DeserializationConfig config, BeanDescription beanDesc)
55 {
56 if (_classMappings == null) {
57 return null;
58 }
59 return _classMappings.get(new ClassKey(type.getRawClass()));
60 }
61 }
62