private void writeReportElement(JRElement element) throws IOException
{
writer.startElement(JRXmlConstants.ELEMENT_reportElement);
writer.addEncodedAttribute(JRXmlConstants.ATTRIBUTE_key, element.getKey());
writeStyleReferenceAttr(element);
writer.addAttribute(JRXmlConstants.ATTRIBUTE_positionType, element.getPositionType(), JRXmlConstants.getPositionTypeMap(), JRElement.POSITION_TYPE_FIX_RELATIVE_TO_TOP);
writer.addAttribute(JRXmlConstants.ATTRIBUTE_stretchType, element.getStretchType(), JRXmlConstants.getStretchTypeMap(), JRElement.STRETCH_TYPE_NO_STRETCH);
writer.addAttribute(JRXmlConstants.ATTRIBUTE_isPrintRepeatedValues, element.isPrintRepeatedValues(), true);
writer.addAttribute(JRXmlConstants.ATTRIBUTE_mode, element.getOwnMode(), JRXmlConstants.getModeMap());
writer.addAttribute(JRXmlConstants.ATTRIBUTE_x, element.getX());
writer.addAttribute(JRXmlConstants.ATTRIBUTE_y, element.getY());
writer.addAttribute(JRXmlConstants.ATTRIBUTE_width, element.getWidth());
writer.addAttribute(JRXmlConstants.ATTRIBUTE_height, element.getHeight());
writer.addAttribute(JRXmlConstants.ATTRIBUTE_isRemoveLineWhenBlank, element.isRemoveLineWhenBlank(), false);
writer.addAttribute(JRXmlConstants.ATTRIBUTE_isPrintInFirstWholeBand, element.isPrintInFirstWholeBand(), false);
writer.addAttribute(JRXmlConstants.ATTRIBUTE_isPrintWhenDetailOverflows, element.isPrintWhenDetailOverflows(), false);
if (element.getPrintWhenGroupChanges() != null)
{
writer.addEncodedAttribute(JRXmlConstants.ATTRIBUTE_printWhenGroupChanges, element.getPrintWhenGroupChanges().getName());
}
writer.addAttribute(JRXmlConstants.ATTRIBUTE_forecolor, element.getOwnForecolor());
writer.addAttribute(JRXmlConstants.ATTRIBUTE_backcolor, element.getOwnBackcolor());
writeProperties(element);
writePropertyExpressions(element.getPropertyExpressions());
writer.writeExpression(JRXmlConstants.ELEMENT_printWhenExpression, element.getPrintWhenExpression(), false);
writer.closeElement();
}