@@ -49,9 +49,14 @@ public void testObjectCount() throws Exception
49
49
boolean useBytes = (i > 0 );
50
50
ByteArrayOutputStream bytes = new ByteArrayOutputStream ();
51
51
StringWriter sw = new StringWriter ();
52
- JsonGenerator gen = useBytes ? f .createGenerator (ObjectWriteContext .empty (), bytes )
53
- : f .createGenerator (ObjectWriteContext .empty (), sw );
54
- gen .setPrettyPrinter (new CountPrinter ());
52
+
53
+ ObjectWriteContext ppContext = new ObjectWriteContext .Base () {
54
+ @ Override
55
+ public PrettyPrinter getPrettyPrinter () { return new CountPrinter (); }
56
+ };
57
+
58
+ JsonGenerator gen = useBytes ? f .createGenerator (ppContext , bytes )
59
+ : f .createGenerator (ppContext , sw );
55
60
gen .writeStartObject ();
56
61
gen .writeFieldName ("x" );
57
62
gen .writeStartObject ();
@@ -76,9 +81,13 @@ public void testArrayCount() throws Exception
76
81
boolean useBytes = (i > 0 );
77
82
ByteArrayOutputStream bytes = new ByteArrayOutputStream ();
78
83
StringWriter sw = new StringWriter ();
79
- JsonGenerator gen = useBytes ? f .createGenerator (ObjectWriteContext .empty (), bytes )
80
- : f .createGenerator (ObjectWriteContext .empty (), sw );
81
- gen .setPrettyPrinter (new CountPrinter ());
84
+ ObjectWriteContext ppContext = new ObjectWriteContext .Base () {
85
+ @ Override
86
+ public PrettyPrinter getPrettyPrinter () { return new CountPrinter (); }
87
+ };
88
+
89
+ JsonGenerator gen = useBytes ? f .createGenerator (ppContext , bytes )
90
+ : f .createGenerator (ppContext , sw );
82
91
gen .writeStartArray ();
83
92
gen .writeNumber (6 );
84
93
gen .writeStartArray ();
@@ -93,38 +102,38 @@ public void testArrayCount() throws Exception
93
102
assertEquals (EXP , json );
94
103
}
95
104
}
96
-
97
- public void testSimpleDocWithDefault () throws Exception
98
- {
99
- StringWriter sw = new StringWriter ();
100
- JsonGenerator gen = new JsonFactory ().createGenerator (ObjectWriteContext .empty (), sw );
101
- gen .useDefaultPrettyPrinter ();
102
- _verifyPrettyPrinter (gen , sw );
103
- gen .close ();
104
- }
105
105
106
106
@ SuppressWarnings ("resource" )
107
107
public void testSimpleDocWithMinimal () throws Exception
108
108
{
109
109
StringWriter sw = new StringWriter ();
110
- JsonGenerator gen = new JsonFactory ().createGenerator (ObjectWriteContext .empty (), sw );
111
110
// first with standard minimal
112
- gen .setPrettyPrinter (new MinimalPrettyPrinter ());
111
+ ObjectWriteContext ppContext = new ObjectWriteContext .Base () {
112
+ @ Override
113
+ public PrettyPrinter getPrettyPrinter () { return new MinimalPrettyPrinter (); }
114
+ };
115
+ JsonGenerator gen = new JsonFactory ().createGenerator (ppContext , sw );
113
116
String docStr = _verifyPrettyPrinter (gen , sw );
114
117
// which should have no linefeeds, tabs
115
118
assertEquals (-1 , docStr .indexOf ('\n' ));
116
119
assertEquals (-1 , docStr .indexOf ('\t' ));
117
120
118
121
// And then with slightly customized variant
119
- gen = new JsonFactory ().createGenerator (ObjectWriteContext .empty (), sw );
120
- gen .setPrettyPrinter (new MinimalPrettyPrinter () {
122
+ ppContext = new ObjectWriteContext .Base () {
121
123
@ Override
122
- // use TAB between array values
123
- public void beforeArrayValues (JsonGenerator jg ) throws IOException , JsonGenerationException
124
- {
125
- jg .writeRaw ("\t " );
124
+ public PrettyPrinter getPrettyPrinter () {
125
+ return new MinimalPrettyPrinter () {
126
+ @ Override
127
+ // use TAB between array values
128
+ public void beforeArrayValues (JsonGenerator jg ) throws IOException , JsonGenerationException
129
+ {
130
+ jg .writeRaw ("\t " );
131
+ }
132
+ };
126
133
}
127
- });
134
+ };
135
+
136
+ gen = new JsonFactory ().createGenerator (ppContext , sw );
128
137
docStr = _verifyPrettyPrinter (gen , sw );
129
138
assertEquals (-1 , docStr .indexOf ('\n' ));
130
139
assertTrue (docStr .indexOf ('\t' ) >= 0 );
@@ -161,11 +170,17 @@ public void testCustomRootSeparatorWithFactory() throws Exception
161
170
public void testCustomSeparatorsWithMinimal () throws Exception
162
171
{
163
172
StringWriter sw = new StringWriter ();
164
- JsonGenerator gen = new JsonFactory ().createGenerator (ObjectWriteContext .empty (), sw );
165
- gen .setPrettyPrinter (new MinimalPrettyPrinter ().setSeparators (Separators .createDefaultInstance ()
166
- .withObjectFieldValueSeparator ('=' )
167
- .withObjectEntrySeparator (';' )
168
- .withArrayValueSeparator ('|' )));
173
+ ObjectWriteContext ppContext = new ObjectWriteContext .Base () {
174
+ @ Override
175
+ public PrettyPrinter getPrettyPrinter () {
176
+ return new MinimalPrettyPrinter ().setSeparators (Separators .createDefaultInstance ()
177
+ .withObjectFieldValueSeparator ('=' )
178
+ .withObjectEntrySeparator (';' )
179
+ .withArrayValueSeparator ('|' ));
180
+ }
181
+ };
182
+
183
+ JsonGenerator gen = new JsonFactory ().createGenerator (ppContext , sw );
169
184
_writeTestDocument (gen );
170
185
gen .close ();
171
186
assertEquals ("[3|\" abc\" |[true]|{\" f\" =null;\" f2\" =null}]" , sw .toString ());
@@ -174,12 +189,17 @@ public void testCustomSeparatorsWithMinimal() throws Exception
174
189
public void testCustomSeparatorsWithPP () throws Exception
175
190
{
176
191
StringWriter sw = new StringWriter ();
177
- JsonGenerator gen = new JsonFactory ().createGenerator (ObjectWriteContext .empty (), sw );
178
- gen .setPrettyPrinter (new DefaultPrettyPrinter ().withSeparators (Separators .createDefaultInstance ()
179
- .withObjectFieldValueSeparator ('=' )
180
- .withObjectEntrySeparator (';' )
181
- .withArrayValueSeparator ('|' )));
182
-
192
+ ObjectWriteContext ppContext = new ObjectWriteContext .Base () {
193
+ @ Override
194
+ public PrettyPrinter getPrettyPrinter () {
195
+ return new DefaultPrettyPrinter ().withSeparators (Separators .createDefaultInstance ()
196
+ .withObjectFieldValueSeparator ('=' )
197
+ .withObjectEntrySeparator (';' )
198
+ .withArrayValueSeparator ('|' ));
199
+ }
200
+ };
201
+
202
+ JsonGenerator gen = new JsonFactory ().createGenerator (ppContext , sw );
183
203
_writeTestDocument (gen );
184
204
gen .close ();
185
205
assertEquals ("[ 3| \" abc\" | [ true ]| {" + DefaultIndenter .SYS_LF +
@@ -191,12 +211,18 @@ public void testCustomSeparatorsWithPP() throws Exception
191
211
public void testCustomSeparatorsWithPPWithoutSpaces () throws Exception
192
212
{
193
213
StringWriter sw = new StringWriter ();
194
- JsonGenerator gen = new JsonFactory ().createGenerator (ObjectWriteContext .empty (), sw );
195
- gen .setPrettyPrinter (new DefaultPrettyPrinter ().withSeparators (Separators .createDefaultInstance ()
196
- .withObjectFieldValueSeparator ('=' )
197
- .withObjectEntrySeparator (';' )
198
- .withArrayValueSeparator ('|' ))
199
- .withoutSpacesInObjectEntries ());
214
+ ObjectWriteContext ppContext = new ObjectWriteContext .Base () {
215
+ @ Override
216
+ public PrettyPrinter getPrettyPrinter () {
217
+ return new DefaultPrettyPrinter ().withSeparators (Separators .createDefaultInstance ()
218
+ .withObjectFieldValueSeparator ('=' )
219
+ .withObjectEntrySeparator (';' )
220
+ .withArrayValueSeparator ('|' ))
221
+ .withoutSpacesInObjectEntries ();
222
+ }
223
+ };
224
+
225
+ JsonGenerator gen = new JsonFactory ().createGenerator (ppContext , sw );
200
226
201
227
_writeTestDocument (gen );
202
228
gen .close ();
@@ -269,8 +295,13 @@ private void _writeTestDocument(JsonGenerator gen) throws IOException {
269
295
protected String _generateRoot (TokenStreamFactory f , PrettyPrinter pp ) throws IOException
270
296
{
271
297
StringWriter sw = new StringWriter ();
272
- JsonGenerator gen = new JsonFactory ().createGenerator (ObjectWriteContext .empty (), sw );
273
- gen .setPrettyPrinter (pp );
298
+ ObjectWriteContext ppContext = new ObjectWriteContext .Base () {
299
+ @ Override
300
+ public PrettyPrinter getPrettyPrinter () {
301
+ return pp ;
302
+ }
303
+ };
304
+ JsonGenerator gen = new JsonFactory ().createGenerator (ppContext , sw );
274
305
gen .writeStartObject ();
275
306
gen .writeEndObject ();
276
307
gen .writeStartObject ();
0 commit comments