1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package io.wcm.caravan.hal.docs.impl.reader;
21
22 import io.wcm.caravan.hal.docs.impl.model.Service;
23
24 import java.io.IOException;
25 import java.io.InputStream;
26 import java.io.OutputStream;
27
28 import com.fasterxml.jackson.annotation.JsonAutoDetect;
29 import com.fasterxml.jackson.annotation.JsonInclude.Include;
30 import com.fasterxml.jackson.databind.ObjectMapper;
31
32
33
34
35 public final class ServiceJson {
36
37 private final ObjectMapper objectMapper = new ObjectMapper()
38 .setSerializationInclusion(Include.NON_EMPTY);
39
40
41
42
43 public ServiceJson() {
44
45 objectMapper.setVisibilityChecker(objectMapper.getSerializationConfig().getDefaultVisibilityChecker()
46 .withFieldVisibility(JsonAutoDetect.Visibility.ANY)
47 .withGetterVisibility(JsonAutoDetect.Visibility.NONE)
48 .withSetterVisibility(JsonAutoDetect.Visibility.NONE)
49 .withCreatorVisibility(JsonAutoDetect.Visibility.NONE));
50 }
51
52
53
54
55
56
57
58 public void write(Service model, OutputStream os) throws IOException {
59 objectMapper.writerWithDefaultPrettyPrinter().writeValue(os, model);
60 }
61
62
63
64
65
66
67
68 public Service read(InputStream is) throws IOException {
69 return objectMapper.readValue(is, Service.class);
70 }
71
72 }