Class JRApiWriter


  • public class JRApiWriter
    extends java.lang.Object
    A writer that generates the Java code required to produce a given report template programmatically, using the JasperReports API.
    Author:
    Teodor Danciu (teodord@users.sourceforge.net)
    • Field Detail

      • EXCEPTION_MESSAGE_KEY_OUTPUT_STREAM_WRITE_ERROR

        public static final java.lang.String EXCEPTION_MESSAGE_KEY_OUTPUT_STREAM_WRITE_ERROR
        See Also:
        Constant Field Values
      • EXCEPTION_MESSAGE_KEY_FILE_WRITE_ERROR

        public static final java.lang.String EXCEPTION_MESSAGE_KEY_FILE_WRITE_ERROR
        See Also:
        Constant Field Values
    • Method Detail

      • write

        public java.lang.String write​(JRReport report)
      • writeReport

        protected void writeReport​(JRReport report,
                                   java.io.Writer aWriter)
      • writeTemplates

        protected void writeTemplates​(JRReport report,
                                      java.lang.String indent)
      • writeTemplate

        protected void writeTemplate​(JRReportTemplate template,
                                     java.lang.String templateName)
      • writeSection

        protected void writeSection​(JRSection section,
                                    java.lang.String sectionName,
                                    java.lang.String sectionBandListGetterName)
      • writeChildElements

        public void writeChildElements​(JRElementGroup elementContainer,
                                       java.lang.String parentName)
        Writes the contents (child elements) of an element container.
        Parameters:
        elementContainer - the element container
      • writeElementGroup

        public void writeElementGroup​(JRElementGroup elementGroup,
                                      java.lang.String groupName)
      • writeBreak

        public void writeBreak​(JRBreak breakElement,
                               java.lang.String breakName)
      • writeLine

        public void writeLine​(JRLine line,
                              java.lang.String lineName)
      • writePropertyExpressions

        protected void writePropertyExpressions​(JRPropertyExpression[] propertyExpressions,
                                                java.lang.String propertyHolderName)
      • writePropertyExpressions

        protected void writePropertyExpressions​(DatasetPropertyExpression[] propertyExpressions,
                                                java.lang.String propertyHolderName)
      • writePropertyExpression

        protected void writePropertyExpression​(JRPropertyExpression propertyExpression,
                                               java.lang.String propertyExpressionName)
      • writePropertyExpression

        protected void writePropertyExpression​(DatasetPropertyExpression propertyExpression,
                                               java.lang.String propertyExpressionName)
      • writeRectangle

        public void writeRectangle​(JRRectangle rectangle,
                                   java.lang.String rectangleName)
      • writeEllipse

        public void writeEllipse​(JREllipse ellipse,
                                 java.lang.String ellipseName)
      • writeImage

        public void writeImage​(JRImage image,
                               java.lang.String imageName)
      • writeStaticText

        public void writeStaticText​(JRStaticText staticText,
                                    java.lang.String staticTextName)
      • writeTextField

        public void writeTextField​(JRTextField textField,
                                   java.lang.String textFieldName)
      • writeSubreport

        public void writeSubreport​(JRSubreport subreport,
                                   java.lang.String subreportName)
      • writeElementDataset

        public void writeElementDataset​(JRElementDataset dataset,
                                        java.lang.String datasetName)
        Writes the JRXML representation of an element dataset.

        The method produces a <dataset> XML element.

        Parameters:
        dataset - the element dataset
      • writeElementDataset

        public void writeElementDataset​(JRElementDataset dataset,
                                        boolean skipIfEmpty,
                                        java.lang.String datasetName)
        Writes the JRXML representation of an element dataset.

        The method produces a <dataset> XML element.

        Parameters:
        dataset - the element dataset
        skipIfEmpty - if set, no output will be produced if the element dataset only has default attribute values
      • writePieDataset

        public void writePieDataset​(JRPieDataset dataset,
                                    java.lang.String parentName,
                                    java.lang.String datasetNameSuffix)
      • writeValueDataset

        public void writeValueDataset​(JRValueDataset dataset,
                                      java.lang.String parentName,
                                      java.lang.String datasetNameSuffix)
        Writes the description of a value dataset to the output stream.
        Parameters:
        dataset - the value dataset to persist
      • writeValueDisplay

        public void writeValueDisplay​(JRValueDisplay valueDisplay,
                                      java.lang.String parentName)
        Writes the description of how to display a value in a valueDataset.
        Parameters:
        valueDisplay - the description to save
      • writeItemLabel

        public void writeItemLabel​(JRItemLabel itemLabel,
                                   java.lang.String parentName,
                                   java.lang.String itemLabelSuffix)
        Writes the description of how to display item labels in a category plot.
        Parameters:
        itemLabel - the description to save
      • writeDataRange

        public void writeDataRange​(JRDataRange dataRange,
                                   java.lang.String parentName,
                                   java.lang.String dataRangeSuffix)
        Writes a data range block to the output stream.
        Parameters:
        dataRange - the range to write
      • writePieChart

        public void writePieChart​(JRChart chart,
                                  java.lang.String chartName)
      • writePie3DChart

        public void writePie3DChart​(JRChart chart,
                                    java.lang.String chartName)
      • writeCategoryAxisFormat

        public void writeCategoryAxisFormat​(java.lang.String indent,
                                            JRFont axisLabelFont,
                                            java.awt.Color axisLabelColor,
                                            JRFont axisTickLabelFont,
                                            java.awt.Color axisTickLabelColor,
                                            java.lang.String axisTickLabelMask,
                                            java.lang.Boolean axisVerticalTickLabels,
                                            java.lang.Double labelRotation,
                                            java.awt.Color axisLineColor,
                                            java.lang.String parentName)
        Writes out the category axis format block.
        Parameters:
        axisLabelFont - font to use for the axis label
        axisLabelColor - color to use for the axis label
        axisTickLabelFont - font to use for the label of each tick mark
        axisTickLabelColor - color to use for the label of each tick mark
        axisTickLabelMask - formatting mask to use for the label of each tick mark
        axisVerticalTickLabels - flag to render tick labels at 90 degrees
        labelRotation - label rotation angle
        axisLineColor - the color to use for the axis line and any tick marks
      • writeAxisFormat

        public void writeAxisFormat​(java.lang.String indent,
                                    JRFont axisLabelFont,
                                    java.awt.Color axisLabelColor,
                                    JRFont axisTickLabelFont,
                                    java.awt.Color axisTickLabelColor,
                                    java.lang.String axisTickLabelMask,
                                    java.lang.Boolean axisVerticalTickLabels,
                                    java.awt.Color axisLineColor,
                                    java.lang.String parentName,
                                    java.lang.String axisNameSuffix,
                                    boolean isToSet)
        Writes out the axis format block for a chart axis.
        Parameters:
        axisLabelFont - font to use for the axis label
        axisLabelColor - color to use for the axis label
        axisTickLabelFont - font to use for the label of each tick mark
        axisTickLabelColor - color to use for the label of each tick mark
        axisTickLabelMask - formatting mask to use for the label of each tick mark
        axisVerticalTickLabels - flag to render tick labels at 90 degrees
        axisLineColor - the color to use for the axis line and any tick marks
      • writeBar3DPlot

        public void writeBar3DPlot​(JRBar3DPlot plot,
                                   java.lang.String chartName)
      • writeBarChart

        public void writeBarChart​(JRChart chart,
                                  java.lang.String chartName)
      • writeBar3DChart

        public void writeBar3DChart​(JRChart chart,
                                    java.lang.String chartName)
      • writeBubbleChart

        public void writeBubbleChart​(JRChart chart,
                                     java.lang.String chartName)
      • writeStackedBarChart

        public void writeStackedBarChart​(JRChart chart,
                                         java.lang.String chartName)
      • writeStackedBar3DChart

        public void writeStackedBar3DChart​(JRChart chart,
                                           java.lang.String chartName)
      • writeLineChart

        public void writeLineChart​(JRChart chart,
                                   java.lang.String chartName)
      • writeTimeSeriesChart

        public void writeTimeSeriesChart​(JRChart chart,
                                         java.lang.String chartName)
      • writeHighLowDataset

        public void writeHighLowDataset​(JRHighLowDataset dataset,
                                        java.lang.String parentName,
                                        java.lang.String datasetNameSuffix)
      • writeHighLowChart

        public void writeHighLowChart​(JRChart chart,
                                      java.lang.String chartName)
      • writeGanttChart

        public void writeGanttChart​(JRChart chart,
                                    java.lang.String chartName)
      • writeCandlestickChart

        public void writeCandlestickChart​(JRChart chart,
                                          java.lang.String chartName)
      • writeAreaChart

        public void writeAreaChart​(JRChart chart,
                                   java.lang.String chartName)
      • writeScatterChart

        public void writeScatterChart​(JRChart chart,
                                      java.lang.String chartName)
      • writeXyAreaChart

        public void writeXyAreaChart​(JRChart chart,
                                     java.lang.String chartName)
      • writeXyBarChart

        public void writeXyBarChart​(JRChart chart,
                                    java.lang.String chartName)
      • writeXyLineChart

        public void writeXyLineChart​(JRChart chart,
                                     java.lang.String chartName)
      • writeMeterChart

        public void writeMeterChart​(JRChart chart,
                                    java.lang.String chartName)
        Writes the definition of a meter chart to the output stream.
        Parameters:
        chart - the meter chart to write
      • writeThermometerChart

        public void writeThermometerChart​(JRChart chart,
                                          java.lang.String chartName)
        Writes the description of a thermometer chart to the output stream.
        Parameters:
        chart - the thermometer chart to write
      • writeMultiAxisChart

        public void writeMultiAxisChart​(JRChart chart,
                                        java.lang.String chartName)
        Writes the definition of a multiple axis chart to the output stream.
        Parameters:
        chart - the multiple axis chart to write
      • writeStackedAreaChart

        public void writeStackedAreaChart​(JRChart chart,
                                          java.lang.String chartName)
      • writeChartTag

        public void writeChartTag​(JRChart chart,
                                  java.lang.String chartName)
      • writeCrosstab

        public void writeCrosstab​(JRCrosstab crosstab,
                                  java.lang.String crosstabName)
      • writeCrosstabTitleCell

        protected void writeCrosstabTitleCell​(JRCrosstab crosstab,
                                              java.lang.String crosstabName)
      • writeCrosstabRowGroup

        protected void writeCrosstabRowGroup​(JRCrosstabRowGroup group,
                                             java.lang.String groupName)
      • writeCrosstabColumnGroup

        protected void writeCrosstabColumnGroup​(JRCrosstabColumnGroup group,
                                                java.lang.String groupName)
      • writeBucket

        protected void writeBucket​(JRCrosstabBucket bucket,
                                   java.lang.String parentName)
      • writeCrosstabMeasure

        protected void writeCrosstabMeasure​(JRCrosstabMeasure measure,
                                            java.lang.String measureName)
      • writeCrosstabCell

        protected void writeCrosstabCell​(JRCrosstabCell cell,
                                         java.lang.String cellName)
      • writeCellContents

        protected void writeCellContents​(JRCellContents contents,
                                         java.lang.String cellName)
      • writeCrosstabParameter

        protected void writeCrosstabParameter​(JRCrosstabParameter parameter,
                                              java.lang.String parameterName)
      • writeDataset

        public void writeDataset​(JRDataset dataset,
                                 java.lang.String datasetName)
      • writeDatasetContents

        protected void writeDatasetContents​(JRDataset dataset,
                                            java.lang.String datasetName)
      • writeDatasetRun

        public void writeDatasetRun​(JRDatasetRun datasetRun,
                                    java.lang.String parentName)
        Outputs the XML representation of a subdataset run object.
        Parameters:
        datasetRun - the subdataset run
      • writeFrame

        public void writeFrame​(JRFrame frame,
                               java.lang.String frameName)
      • writeHyperlinkParameters

        protected void writeHyperlinkParameters​(JRHyperlinkParameter[] parameters,
                                                java.lang.String parentName)
      • writeHyperlinkParameter

        protected void writeHyperlinkParameter​(JRHyperlinkParameter parameter,
                                               java.lang.String parameterName)
      • writeHyperlink

        public void writeHyperlink​(JRHyperlink hyperlink,
                                   java.lang.String parentName,
                                   java.lang.String hyperlinkSuffix)
        public void writeHyperlink( String tagName, JRHyperlink hyperlink, String hyperlinkName) { writeHyperlink( tagName, null, hyperlink, hyperlinkName); } /** public void writeHyperlink( String tagName, XmlNamespace namespace, JRHyperlink hyperlink, String hyperlinkName) { if (hyperlink != null) { writer.startElement(tagName, namespace); writer.addEncodedAttribute(JRApiConstants.ATTRIBUTE_hyperlinkType, hyperlink.getLinkType(), JRHyperlinkHelper.HYPERLINK_TYPE_NONE); writer.addEncodedAttribute(JRApiConstants.ATTRIBUTE_hyperlinkTarget, hyperlink.getLinkTarget(), JRHyperlinkHelper.HYPERLINK_TARGET_SELF); writer.writeExpression(JRApiConstants.ELEMENT_hyperlinkReferenceExpression, JASPERREPORTS_NAMESPACE, hyperlink.getHyperlinkReferenceExpression(), false); writer.writeExpression(JRApiConstants.ELEMENT_hyperlinkWhenExpression, JASPERREPORTS_NAMESPACE, hyperlink.getHyperlinkWhenExpression(), false); writer.writeExpression(JRApiConstants.ELEMENT_hyperlinkAnchorExpression, JASPERREPORTS_NAMESPACE, hyperlink.getHyperlinkAnchorExpression(), false); writer.writeExpression(JRApiConstants.ELEMENT_hyperlinkPageExpression, JASPERREPORTS_NAMESPACE, hyperlink.getHyperlinkPageExpression(), false); writer.writeExpression(JRApiConstants.ELEMENT_hyperlinkTooltipExpression, JASPERREPORTS_NAMESPACE, hyperlink.getHyperlinkTooltipExpression(), false); writeHyperlinkParameters(hyperlink.getHyperlinkParameters()); flush(); } } /**
      • toWriteConditionalStyles

        protected boolean toWriteConditionalStyles()
      • writeConditionalStyle

        protected void writeConditionalStyle​(JRConditionalStyle style,
                                             java.lang.String styleName)
        Writes a conditional style.
        Parameters:
        style - the conditional style
      • writeComponentElement

        public void writeComponentElement​(JRComponentElement componentElement,
                                          java.lang.String componentName)
      • writeGenericElement

        public void writeGenericElement​(JRGenericElement element,
                                        java.lang.String elementName)
        protected XmlNamespace getNamespace() { return JASPERREPORTS_NAMESPACE; } /**
      • writeStyleReferenceAttr

        protected void writeStyleReferenceAttr​(JRStyleContainer styleContainer,
                                               java.lang.String styleName)
      • writeBox

        protected void writeBox​(JRLineBox box,
                                java.lang.String boxHolder)
      • writeParagraph

        protected void writeParagraph​(JRParagraph paragraph,
                                      java.lang.String paragraphHolder)
      • writeExpression

        public void writeExpression​(JRExpression expression,
                                    java.lang.String parentName,
                                    java.lang.String expressionSuffix)
      • writeExpression

        public void writeExpression​(JRExpression expression,
                                    java.lang.String parentName,
                                    java.lang.String expressionSuffix,
                                    java.lang.String defaultClassName)
      • write

        protected void write​(java.lang.String text)
      • write

        protected void write​(java.lang.String pattern,
                             java.lang.Object value)
      • write

        protected void write​(java.lang.String pattern,
                             java.lang.Object value,
                             java.lang.Object defaultValue)
      • write

        protected void write​(java.lang.String pattern,
                             java.lang.Enum<?> value)
      • write

        protected void write​(java.lang.String pattern,
                             java.lang.Enum<?> value,
                             java.lang.Enum<?> defaultValue)
      • write

        protected void write​(java.lang.String pattern,
                             int value)
      • write

        protected void write​(java.lang.String pattern,
                             int value,
                             int defaultValue)
      • write

        protected void write​(java.lang.String pattern,
                             java.lang.Float value)
      • write

        protected void write​(java.lang.String pattern,
                             java.lang.Float value,
                             java.lang.Float defaultValue)
      • write

        protected void write​(java.lang.String pattern,
                             java.lang.Double value)
      • write

        protected void write​(java.lang.String pattern,
                             java.lang.Double value,
                             java.lang.Double defaultValue)
      • write

        protected void write​(java.lang.String pattern,
                             boolean value,
                             boolean defaultValue)
      • write

        protected void write​(java.lang.String pattern,
                             byte value,
                             byte defaultValue)
      • write

        protected void write​(java.lang.String pattern,
                             java.awt.Color value)
      • write

        protected void write​(java.lang.String pattern,
                             java.awt.Color value,
                             java.awt.Color defaultValue)
      • writePattern

        protected void writePattern​(java.lang.String pattern,
                                    java.lang.Object... arguments)
      • close

        protected void close()
      • flush

        protected void flush()
      • main

        public static void main​(java.lang.String[] args)