@Override public void writeEndDocument() throws XMLStreamException { super.writeEndDocument(); try { if (getScope().getInfo().isArray()) { target.endArray(); } target.endObject(); } catch (IOException e) { throw new XMLStreamException("Cannot end document", e); } getScope().getInfo().startObjectWritten = false; }
@Override protected void writeEndElementTag() throws XMLStreamException { try { if (getScope().getInfo().hasData()) { if (getScope().getInfo().startObjectWritten) { target.name("$"); } target.value(getScope().getInfo().getData()); } if (autoEndArray && getScope().getInfo().isArray()) { writeEndArray(); } if (getScope().getInfo().startObjectWritten) { target.endObject(); } else if (!getScope().getInfo().hasData()) { target.value(null); } } catch (IOException e) { throw new XMLStreamException( "Cannot write end element: " + getFieldName(getScope().getPrefix(), getScope().getLocalName()), e); } }