Package org.apache.struts2.dispatcher

# Class ChartResult

java.lang.Object
org.apache.struts2.result.StrutsResultSupport
org.apache.struts2.dispatcher.ChartResult

All Implemented Interfaces:
  `Serializable`, `Result`, `StrutsStatics`

public class ChartResult extends StrutsResultSupport

A custom Result type for chart data. Built on top of JFreeChart. When executed this Result will write the given chart as a PNG or JPG to the servlet output stream.

This result type takes the following parameters:

- value - the name of the JFreeChart object on the ValueStack, defaults to 'chart'.
- type - the render type for this chart. Can be jpg (or jpeg) or png. Defaults to png.
- width (required) - the width (in pixels) of the rendered chart.
- height (required) - the height (in pixels) of the rendered chart.

Example:

     public class ExampleChartAction extends ActionSupport {

                private JFreeChart chart;

                public String execute() throws Exception {
                        // chart creation logic...
                        XYSeries dataSeries = new XYSeries(new Integer(1)); // pass a key for this serie
                        for (int i = 0; i <= 100; i++) {
                                dataSeries.add(i, RandomUtils.nextInt());
                        }
                        XYSeriesCollection xyDataset = new XYSeriesCollection(dataSeries);

                        ValueAxis xAxis = new NumberAxis("Raw Marks");
                        ValueAxis yAxis = new NumberAxis("Moderated Marks");

                        // set my chart variable
                        chart =
                                new JFreeChart( "Moderation Function", JFreeChart.DEFAULT_TITLE_FONT,
                                        new XYPlot( xyDataset, xAxis, yAxis, new StandardXYItemRenderer(StandardXYItemRenderer.LINES)),
                                        false);
                        chart.setBackgroundPaint(java.awt.Color.white);

                        return SUCCESS;
                }

          // this method will get called if we specify <param name="value">chart</param>
                public JFreeChart getChart() {
                        return chart;
                }
      }

     <result name="success" type="chart">
       <param name="value">chart</param>
       <param name="type">png</param>
       <param name="width">640</param>
       <param name="height">480</param>
     </result>

See Also:
  - Serialized Form

- ## Field Summary

  ### Fields inherited from class org.apache.struts2.result.StrutsResultSupport

  `DEFAULT_PARAM, DEFAULT_URL_ENCODING, parseLocation`

  ### Fields inherited from interface org.apache.struts2.StrutsStatics

  `ACTION_MAPPING, HTTP_REQUEST, HTTP_RESPONSE, PAGE_CONTEXT, SERVLET_CONTEXT, SERVLET_DISPATCHER, STRUTS_ACTION_TAG_INVOCATION`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ChartResult()`
  `ChartResult(org.jfree.chart.JFreeChart chart, String height, String width)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `doExecute(String finalLocation, ActionInvocation invocation)`
  Executes the result.
  `org.jfree.chart.JFreeChart`
  `getChart()`
  `String`
  `getHeight()`
  `String`
  `getType()`
  `String`
  `getValue()`
  `String`
  `getWidth()`
  `void`
  `setChart(org.jfree.chart.JFreeChart chart)`
  `void`
  `setHeight(String height)`
  `void`
  `setType(String type)`
  `void`
  `setValue(String value)`
  `void`
  `setWidth(String width)`

  ### Methods inherited from class org.apache.struts2.result.StrutsResultSupport

  `conditionalParse, conditionalParseCollection, execute, getLastFinalLocation, getLocation, setEncode, setLocation, setParse`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### ChartResult

    public ChartResult()

  - ### ChartResult

    public ChartResult(org.jfree.chart.JFreeChart chart, String height, String width)

- ## Method Details

  - ### getHeight

    public String getHeight()

  - ### setHeight

    public void setHeight(String height)

  - ### getWidth

    public String getWidth()

  - ### setWidth

    public void setWidth(String width)

  - ### getType

    public String getType()

  - ### setType

    public void setType(String type)

  - ### getValue

    public String getValue()

  - ### setValue

    public void setValue(String value)

  - ### getChart

    public org.jfree.chart.JFreeChart getChart()

  - ### setChart

    public void setChart(org.jfree.chart.JFreeChart chart)

  - ### doExecute

    public void doExecute(String finalLocation, ActionInvocation invocation) throws Exception
    Executes the result. Writes the given chart as a PNG or JPG to the servlet output stream.
    Specified by:
      `doExecute` in class `StrutsResultSupport`
    Parameters:
      `invocation` - an encapsulation of the action execution state.
    Throws:
      `Exception` - if an error occurs when creating or writing the chart to the servlet output stream.