1515 */
1616package software .xdev .chartjs .model .charts ;
1717
18- import java .io .UncheckedIOException ;
19-
2018import com .fasterxml .jackson .annotation .JsonAutoDetect ;
2119import com .fasterxml .jackson .annotation .JsonIgnore ;
2220import com .fasterxml .jackson .annotation .JsonInclude ;
23- import com .fasterxml .jackson .annotation .PropertyAccessor ;
24- import com .fasterxml .jackson .core .JsonProcessingException ;
25- import com .fasterxml .jackson .databind .ObjectMapper ;
26- import com .fasterxml .jackson .databind .ObjectWriter ;
2721
2822import software .xdev .chartjs .model .data .AbstractData ;
2923import software .xdev .chartjs .model .options .Options ;
24+ import tools .jackson .databind .ObjectWriter ;
25+ import tools .jackson .databind .json .JsonMapper ;
3026
3127
3228public abstract class AbstractChart <T , O extends Options <?, ?>, D extends AbstractData <?, ?>>
@@ -36,13 +32,16 @@ public abstract class AbstractChart<T, O extends Options<?, ?>, D extends Abstra
3632 protected O options ;
3733
3834 @ JsonIgnore
39- protected ObjectWriter defaultObjectWriter = new ObjectMapper ()
40- .setDefaultPropertyInclusion (JsonInclude .Include .NON_EMPTY )
41- .setVisibility (PropertyAccessor .FIELD , JsonAutoDetect .Visibility .ANY )
42- .setVisibility (PropertyAccessor .GETTER , JsonAutoDetect .Visibility .NONE )
43- .setVisibility (PropertyAccessor .IS_GETTER , JsonAutoDetect .Visibility .NONE )
44- .setVisibility (PropertyAccessor .SETTER , JsonAutoDetect .Visibility .NONE )
45- .setVisibility (PropertyAccessor .CREATOR , JsonAutoDetect .Visibility .NONE )
35+ protected ObjectWriter defaultObjectWriter = JsonMapper .builder ()
36+ .changeDefaultPropertyInclusion (v -> v
37+ .withValueInclusion (JsonInclude .Include .NON_EMPTY ))
38+ .changeDefaultVisibility (vc -> vc
39+ .withFieldVisibility (JsonAutoDetect .Visibility .ANY )
40+ .withGetterVisibility (JsonAutoDetect .Visibility .NONE )
41+ .withIsGetterVisibility (JsonAutoDetect .Visibility .NONE )
42+ .withSetterVisibility (JsonAutoDetect .Visibility .NONE )
43+ .withCreatorVisibility (JsonAutoDetect .Visibility .NONE ))
44+ .build ()
4645 .writer ()
4746 .forType (this .getClass ());
4847
@@ -102,14 +101,7 @@ public T setDefaultObjectWriter(final ObjectWriter defaultObjectWriter)
102101 @ Override
103102 public String toJson ()
104103 {
105- try
106- {
107- return this .defaultObjectWriter .writeValueAsString (this );
108- }
109- catch (final JsonProcessingException e )
110- {
111- throw new UncheckedIOException ("Failed to write json" , e );
112- }
104+ return this .defaultObjectWriter .writeValueAsString (this );
113105 }
114106
115107 @ SuppressWarnings ("unchecked" )
0 commit comments