@Override
public void serialize(XMLStreamWriter xmlStreamWriter) throws XMLStreamException {
xmlStreamWriter.writeStartElement("", this.rootWrapper, "");
while (table.hasNext()) {
table.moveToNext();
xmlStreamWriter.writeStartElement("", this.rowWrapper, "");
BStructureType structType = table.getStructType();
BField[] structFields = null;
if (structType != null) {
structFields = structType.getFields().values().toArray(new BField[0]);
}
int index = 1;
for (ColumnDefinition col : table.getColumnDefs()) {
String name;
if (structFields != null) {
name = structFields[index - 1].getFieldName();
} else {
name = col.getName();
}
writeElement(xmlStreamWriter, name, col.getType(), index, structFields);
++index;
}
xmlStreamWriter.writeEndElement();
}
xmlStreamWriter.writeEndElement();
xmlStreamWriter.flush();
}