@@ -130,7 +130,8 @@ public boolean canUseSchema(FormatSchema schema) {
130
130
* @since 2.9
131
131
*/
132
132
public JavaPropsParser createParser (Properties props ) {
133
- return new JavaPropsParser (_createContext (props , true ),
133
+ IOContext ctxt = _createContext (props , true );
134
+ return new JavaPropsParser (ctxt ,
134
135
props , _parserFeatures , _objectCodec , props );
135
136
}
136
137
@@ -142,7 +143,8 @@ public JavaPropsParser createParser(Properties props) {
142
143
* @since 2.9
143
144
*/
144
145
public JavaPropsGenerator createGenerator (Properties props ) {
145
- return new PropertiesBackedGenerator (_createContext (props , true ),
146
+ IOContext ctxt = _createContext (props , true );
147
+ return new PropertiesBackedGenerator (ctxt ,
146
148
props , _generatorFeatures , _objectCodec );
147
149
}
148
150
@@ -154,27 +156,44 @@ public JavaPropsGenerator createGenerator(Properties props) {
154
156
155
157
@ Override
156
158
public JsonParser createParser (File f ) throws IOException {
157
- return _createParser (new FileInputStream (f ), _createContext (f , true ));
159
+ IOContext ctxt = _createContext (f , true );
160
+ return _createParser (_decorate (new FileInputStream (f ), ctxt ), ctxt );
158
161
}
159
162
160
163
@ Override
161
164
public JsonParser createParser (URL url ) throws IOException {
162
- return _createParser (_optimizedStreamFromURL (url ), _createContext (url , true ));
165
+ IOContext ctxt = _createContext (url , true );
166
+ return _createParser (_decorate (_optimizedStreamFromURL (url ), ctxt ), ctxt );
163
167
}
164
168
165
169
@ Override
166
170
public JsonParser createParser (InputStream in ) throws IOException {
167
- return _createParser (in , _createContext (in , false ));
171
+ IOContext ctxt = _createContext (in , false );
172
+ return _createParser (_decorate (in , ctxt ), ctxt );
168
173
}
169
174
170
175
@ Override
171
176
public JsonParser createParser (byte [] data ) throws IOException {
172
- return _createParser (data , 0 , data .length , _createContext (data , true ));
177
+ IOContext ctxt = _createContext (data , true );
178
+ if (_inputDecorator != null ) {
179
+ InputStream in = _inputDecorator .decorate (ctxt , data , 0 , data .length );
180
+ if (in != null ) {
181
+ return _createParser (in , ctxt );
182
+ }
183
+ }
184
+ return _createParser (data , 0 , data .length , ctxt );
173
185
}
174
186
175
187
@ Override
176
188
public JsonParser createParser (byte [] data , int offset , int len ) throws IOException {
177
- return _createParser (data , offset , len , _createContext (data , true ));
189
+ IOContext ctxt = _createContext (data , true );
190
+ if (_inputDecorator != null ) {
191
+ InputStream in = _inputDecorator .decorate (ctxt , data , offset , len );
192
+ if (in != null ) {
193
+ return _createParser (in , ctxt );
194
+ }
195
+ }
196
+ return _createParser (data , offset , len , ctxt );
178
197
}
179
198
180
199
/*
@@ -187,8 +206,8 @@ public JsonParser createParser(byte[] data, int offset, int len) throws IOExcept
187
206
public JsonGenerator createGenerator (OutputStream out , JsonEncoding enc ) throws IOException {
188
207
IOContext ctxt = _createContext (out , false );
189
208
ctxt .setEncoding (enc );
190
- out = _decorate ( out , ctxt );
191
- return _createJavaPropsGenerator ( ctxt , _generatorFeatures , _objectCodec , out );
209
+ return _createJavaPropsGenerator ( ctxt , _generatorFeatures , _objectCodec ,
210
+ _decorate ( out , ctxt ) );
192
211
}
193
212
194
213
/**
@@ -201,8 +220,8 @@ public JsonGenerator createGenerator(OutputStream out, JsonEncoding enc) throws
201
220
@ Override
202
221
public JsonGenerator createGenerator (OutputStream out ) throws IOException {
203
222
IOContext ctxt = _createContext (out , false );
204
- out = _decorate ( out , ctxt );
205
- return _createJavaPropsGenerator ( ctxt , _generatorFeatures , _objectCodec , out );
223
+ return _createJavaPropsGenerator ( ctxt , _generatorFeatures , _objectCodec ,
224
+ _decorate ( out , ctxt ) );
206
225
}
207
226
208
227
/*
0 commit comments