/** * Method for reading a single XML value from given XML-specific input * source; useful for incremental data-binding, combining traversal using * basic Stax {@link XMLStreamReader} with data-binding by Jackson. * * @since 2.4 */ @SuppressWarnings("resource") public <T> T readValue(XMLStreamReader r, JavaType valueType) throws IOException { FromXmlParser p = getFactory().createParser(r); return super.readValue(p, valueType); }
@Override public XContentParser createParser(String content) throws IOException { return new XmlXContentParser(xmlFactory.createParser(content.getBytes(StandardCharsets.UTF_8))); }
@Override public XContentParser createParser(InputStream is) throws IOException { return new XmlXContentParser(xmlFactory.createParser(is)); }
@Override public XContentParser createParser(byte[] data, int offset, int length) throws IOException { return new XmlXContentParser(xmlFactory.createParser(data, offset, length)); }
@Override public XContentParser createParser(byte[] data) throws IOException { return new XmlXContentParser(xmlFactory.createParser(data)); }
@Override public XContentParser createParser(Reader reader) throws IOException { return new XmlXContentParser(xmlFactory.createParser(reader)); }
/** * Method for reading a single XML value from given XML-specific input * source; useful for incremental data-binding, combining traversal using * basic Stax {@link XMLStreamReader} with data-binding by Jackson. */ @SuppressWarnings("resource") public <T> T readValue(XMLStreamReader r, JavaType valueType) throws IOException { DeserializationContext ctxt = createDeserializationContext(); FromXmlParser p = tokenStreamFactory().createParser(ctxt, r); return super.readValue(p, valueType); }
public ResWrap<ServiceDocument> toServiceDocument(InputStream input) throws ODataDeserializerException { try { JsonParser parser = new XmlFactory().createParser(input); return doDeserialize(parser); } catch (final IOException e) { throw new ODataDeserializerException(e); } } }
@Override public void importStream(InputStream inputStream, OnItemHandler handler, String charSetName) throws Exception { XmlFactory factory = new XmlFactory(); JsonParser parser = factory.createParser(new InputStreamReader(inputStream, charSetName)); Map<String, Field> fields = getFieldMap(getDataClass()); while (parser.nextToken() != JsonToken.END_OBJECT) { try { parser.getCurrentName(); } catch (Exception e) { continue; } if (getDataClass().getSimpleName().equals(parser.getValueAsString())) { T item = (T) getDataClass().newInstance(); while (parser.nextToken() != JsonToken.END_OBJECT) { if (parser.getValueAsString() == null || parser.getCurrentToken() == JsonToken.FIELD_NAME) continue; Field field = fields.get(parser.getCurrentName()); setField(parser, item, field); } handler.onItem(item); } } }
public ResWrap<ServiceDocument> toServiceDocument(InputStream input) throws ODataDeserializerException { try { JsonParser parser = new XmlFactory().createParser(input); return doDeserialize(parser); } catch (final IOException e) { throw new ODataDeserializerException(e); } } }
@Override public void writeRawField(String fieldName, byte[] content, int offset, int length, OutputStream outputStream) throws IOException { writeFieldNameWithNamespace(fieldName); try (JsonParser parser = params.getXmlFactory().createParser(content, offset, length)) { parser.nextToken(); params.getXmlFactory().createGenerator(outputStream).copyCurrentStructure(parser); } }
@Override public void writeRawField(String fieldName, byte[] content, OutputStream outputStream) throws IOException { writeFieldNameWithNamespace(fieldName); try (JsonParser parser = params.getXmlFactory().createParser(content)) { parser.nextToken(); params.getXmlFactory().createGenerator(outputStream).copyCurrentStructure(parser); } }
@Override public void writeRawField(String fieldName, BytesReference content, OutputStream outputStream) throws IOException { writeFieldNameWithNamespace(fieldName); try (JsonParser parser = params.getXmlFactory().createParser(content.streamInput())) { parser.nextToken(); params.getXmlFactory().createGenerator(outputStream).copyCurrentStructure(parser); } }