11package com .fasterxml .jackson .dataformat .xml ;
22
3+ import java .io .DataOutput ;
34import java .io .File ;
45import java .io .FileOutputStream ;
56import java .io .IOException ;
1314
1415import com .fasterxml .jackson .core .*;
1516import com .fasterxml .jackson .core .exc .StreamWriteException ;
17+ import com .fasterxml .jackson .core .io .DataOutputAsStream ;
1618import com .fasterxml .jackson .core .type .TypeReference ;
1719import com .fasterxml .jackson .core .util .ByteArrayBuilder ;
1820import com .fasterxml .jackson .databind .*;
@@ -459,6 +461,12 @@ public void writeValue(OutputStream out, Object value, Charset encoding)
459461 _writeValueAndClose (createGenerator (out , encoding ), value );
460462 }
461463
464+ public void writeValue (DataOutput out , Object value , Charset encoding )
465+ throws IOException , StreamWriteException , DatabindException
466+ {
467+ _writeValueAndClose (createGenerator (out , encoding ), value );
468+ }
469+
462470 protected final JsonGenerator createGenerator (OutputStream out , Charset encoding ) throws IOException {
463471 this ._assertNotNull ("out" , out );
464472 JsonGenerator g = ((XmlFactory ) _jsonFactory ).createGenerator (out , encoding );
@@ -473,4 +481,11 @@ protected final JsonGenerator createGenerator(File outputFile, Charset encoding)
473481 _serializationConfig .initialize (g );
474482 return g ;
475483 }
484+
485+ protected final JsonGenerator createGenerator (DataOutput out , Charset encoding ) throws IOException {
486+ this ._assertNotNull ("out" , out );
487+ JsonGenerator g = ((XmlFactory ) _jsonFactory ).createGenerator (new DataOutputAsStream (out ), encoding );
488+ this ._serializationConfig .initialize (g );
489+ return g ;
490+ }
476491}
0 commit comments