@@ -35,23 +35,43 @@ Create a restricted serializer that is permitted to deserialize only the
3535given classes and no others, and then register it with a mapper:
3636
3737```
38- var serializers =
39- DmJsonRestrictedDeserializers.builder()
40- .allowClass(Optional.class)
41- .allowClass(Path.class)
42- .allowClass(String.class)
43- .allowClass(URI.class)
44- .allowClass(int.class)
45- .allowClass(double.class)
46- .allowClass(List.class)
47- .allowClassName(
48- "java.util.Optional<java.lang.Integer>")
49- .allowClassName(
50- "java.util.List<java.lang.String>")
51- .build();
38+ var builder =
39+ DmJsonRestrictedDeserializers.builder();
40+
41+ // Allow deserializing values of various "value" classes...
42+ builder.allowClass(Path.class)
43+ .allowClass(String.class)
44+ .allowClass(URI.class)
45+ .allowClass(int.class)
46+ .allowClass(double.class);
47+
48+ // Allow java.util.Optional<java.lang.Integer>
49+ builder.allowOptionalOfClass(Integer.class);
50+
51+ // Or, equivalently:
52+ builder.allowClassName("java.util.Optional<java.lang.Integer>")
53+
54+ // Allow java.util.List<java.lang.String>
55+ builder.allowListsOfClass(String.class);
56+
57+ // Or, equivalently:
58+ builder.allowClassName("java.util.List<java.lang.String>");
59+
60+ // Allow java.util.Set<java.lang.String>
61+ builder.allowSetsOfClass(String.class);
62+
63+ // Or, equivalently:
64+ builder.allowClassName("java.util.Set<java.lang.String>");
65+
66+ // Allow java.util.Map<java.lang.Integer, java.lang.String>
67+ builder.allowMapsOfClass(Integer.class, String.class);
68+
69+ // Or, equivalently:
70+ builder.allowClassName("java.util.Map<java.lang.Integer, java.lang.String>");
5271
72+ final var serializers = builder.build();
5373final var simpleModule = new SimpleModule();
54- simpleModule.setDeserializers(this. serializers);
74+ simpleModule.setDeserializers(serializers);
5575
5676final var mapper =
5777 JsonMapper.builder()
0 commit comments