/** Writes an XML representation of the given Grid to the given OutputStream. */ public static void toXml(Grid grid, OutputStream out) { XMLWriter writer = XMLFactory.getXMLWriter(out); writer.openDocument(); writer.openElement( ATTR_GRID, ATTR_TITLE, grid.getTitle(), ATTR_SUBTITLE, grid.getSubtitle(), ATTR_WIDTH, String.valueOf(grid.getWidth()), ATTR_HEIGHT, String.valueOf(grid.getHeight())); writer.openElement(ATTR_HEADERS); for (GridHeader header : grid.getHeaders()) { writer.writeElement( ATTR_HEADER, null, ATTR_NAME, header.getName(), ATTR_COLUMN, header.getColumn(), ATTR_TYPE, header.getType(), ATTR_HIDDEN, String.valueOf(header.isHidden()), ATTR_META, String.valueOf(header.isMeta())); } writer.closeElement(); writer.openElement(ATTR_ROWS); for (List<Object> row : grid.getRows()) { writer.openElement(ATTR_ROW); for (Object field : row) { writer.writeElement(ATTR_FIELD, field != null ? String.valueOf(field) : EMPTY); } writer.closeElement(); } writer.closeElement(); writer.closeElement(); writer.closeDocument(); }