Class GenericChartTheme

java.lang.Object
net.sf.jasperreports.chartthemes.spring.GenericChartTheme
All Implemented Interfaces:
ChartTheme
Direct Known Subclasses:
AegeanChartTheme, EyeCandySixtiesChartTheme

public class GenericChartTheme extends Object implements ChartTheme
Author:
Sanda Zaharia (shertage@users.sourceforge.net)
  • Field Details

    • defaultChartPropertiesMap

      protected Map<String,?> defaultChartPropertiesMap
    • defaultPlotPropertiesMap

      protected Map<String,?> defaultPlotPropertiesMap
    • defaultAxisPropertiesMap

      protected Map<String,?> defaultAxisPropertiesMap
    • defaultChartTypePropertiesMap

      protected Map<String,?> defaultChartTypePropertiesMap
    • threadLocalChartContext

      protected ThreadLocal<ChartContext> threadLocalChartContext
    • threadLocalFontUtil

      protected ThreadLocal<FontUtil> threadLocalFontUtil
  • Constructor Details

    • GenericChartTheme

      protected GenericChartTheme()
  • Method Details

    • getChartContext

      protected ChartContext getChartContext()
    • getChart

      protected JRChart getChart()
    • getPlot

      protected JRChartPlot getPlot()
    • getDataset

      protected org.jfree.data.general.Dataset getDataset()
    • getLabelGenerator

      protected Object getLabelGenerator()
    • getLocale

      protected Locale getLocale()
    • evaluateExpression

      protected final Object evaluateExpression(JRExpression expression) throws JRException
      Throws:
      JRException
    • evaluateTextExpression

      protected final String evaluateTextExpression(JRExpression expression) throws JRException
      Throws:
      JRException
    • createChart

      public org.jfree.chart.JFreeChart createChart(ChartContext chartContext) throws JRException
      Specified by:
      createChart in interface ChartTheme
      Returns:
      an org.jfree.chart.JFreeChart object representing the chart
      Throws:
      JRException
    • configureChart

      protected void configureChart(org.jfree.chart.JFreeChart jfreeChart, JRChartPlot jrPlot) throws JRException
      Throws:
      JRException
    • configurePlot

      protected void configurePlot(org.jfree.chart.plot.Plot p, JRChartPlot jrPlot)
    • configureAxis

      protected void configureAxis(org.jfree.chart.axis.Axis axis, JRFont labelFont, Color labelColor, JRFont tickLabelFont, Color tickLabelColor, String tickLabelMask, Boolean verticalTickLabels, Paint lineColor, boolean isRangeAxis, Comparable<?> axisMinValue, Comparable<?> axisMaxValue) throws JRException
      Sets all the axis formatting options. This includes the colors and fonts to use on the axis as well as the color to use when drawing the axis line.
      Parameters:
      axis - the axis to format
      labelFont - the font to use for the axis label
      labelColor - the color of the axis label
      tickLabelFont - the font to use for each tick mark value label
      tickLabelColor - the color of each tick mark value label
      tickLabelMask - formatting mask for the label. If the axis is a NumberAxis then the mask should be java.text.DecimalFormat mask, and if it is a DateAxis then the mask should be a java.text.SimpleDateFormat mask.
      verticalTickLabels - flag to draw tick labels at 90 degrees
      lineColor - color to use when drawing the axis line and any tick marks
      isRangeAxis - used to distinguish between range and domain axis type
      Throws:
      JRException
    • createAreaChart

      protected org.jfree.chart.JFreeChart createAreaChart() throws JRException
      Throws:
      JRException
    • createBar3DChart

      protected org.jfree.chart.JFreeChart createBar3DChart() throws JRException
      Throws:
      JRException
    • createBarChart

      protected org.jfree.chart.JFreeChart createBarChart() throws JRException
      Throws:
      JRException
    • createBubbleChart

      protected org.jfree.chart.JFreeChart createBubbleChart() throws JRException
      Throws:
      JRException
    • createCandlestickChart

      protected org.jfree.chart.JFreeChart createCandlestickChart() throws JRException
      Throws:
      JRException
    • createHighLowChart

      protected org.jfree.chart.JFreeChart createHighLowChart() throws JRException
      Throws:
      JRException
    • createLineChart

      protected org.jfree.chart.JFreeChart createLineChart() throws JRException
      Throws:
      JRException
    • createPie3DChart

      protected org.jfree.chart.JFreeChart createPie3DChart() throws JRException
      Throws:
      JRException
    • createPieChart

      protected org.jfree.chart.JFreeChart createPieChart() throws JRException
      Throws:
      JRException
    • createScatterChart

      protected org.jfree.chart.JFreeChart createScatterChart() throws JRException
      Throws:
      JRException
    • createStackedBar3DChart

      protected org.jfree.chart.JFreeChart createStackedBar3DChart() throws JRException
      Throws:
      JRException
    • createStackedBarChart

      protected org.jfree.chart.JFreeChart createStackedBarChart() throws JRException
      Throws:
      JRException
    • createStackedAreaChart

      protected org.jfree.chart.JFreeChart createStackedAreaChart() throws JRException
      Throws:
      JRException
    • createXyAreaChart

      protected org.jfree.chart.JFreeChart createXyAreaChart() throws JRException
      Throws:
      JRException
    • createXYBarChart

      protected org.jfree.chart.JFreeChart createXYBarChart() throws JRException
      Throws:
      JRException
    • createXyLineChart

      protected org.jfree.chart.JFreeChart createXyLineChart() throws JRException
      Throws:
      JRException
    • createTimeSeriesChart

      protected org.jfree.chart.JFreeChart createTimeSeriesChart() throws JRException
      Throws:
      JRException
    • createGanttChart

      protected org.jfree.chart.JFreeChart createGanttChart() throws JRException
      Throws:
      JRException
    • convertRange

      protected org.jfree.data.Range convertRange(JRDataRange dataRange) throws JRException
      Converts a JasperReport data range into one understood by JFreeChart.
      Parameters:
      dataRange - the JasperReport version of the range
      Returns:
      the JFreeChart version of the range
      Throws:
      JRException - thrown when the low value of the range is greater than the high value
    • convertInterval

      protected org.jfree.chart.plot.MeterInterval convertInterval(JRMeterInterval interval) throws JRException
      Converts a JasperReports meter interval to one that JFreeChart understands.
      Parameters:
      interval - the JasperReports definition of an interval
      Returns:
      the JFreeChart version of the same interval
      Throws:
      JRException - thrown when the interval contains an invalid range
    • createMeterChart

      protected org.jfree.chart.JFreeChart createMeterChart() throws JRException
      Build and configure a meter chart.
      Throws:
      JRException
    • createThermometerChart

      protected org.jfree.chart.JFreeChart createThermometerChart() throws JRException
      Build and run a thermometer chart. JFreeChart thermometer charts have some limitations. They always have a maximum of three ranges, and the colors of those ranges seems to be fixed.
      Throws:
      JRException
    • createDialChart

      protected org.jfree.chart.JFreeChart createDialChart() throws JRException
      Throws:
      JRException
    • getChartAxisLocation

      protected org.jfree.chart.axis.AxisLocation getChartAxisLocation(JRChartAxis chartAxis)
      Specifies the axis location. It has to be overridden for child themes with another default axis location
    • populateSeriesColors

      protected void populateSeriesColors(Paint[] colors, Paint[] colorSequence)
    • setChartBackground

      protected void setChartBackground(org.jfree.chart.JFreeChart jfreeChart)
    • setChartBackgroundImage

      protected void setChartBackgroundImage(org.jfree.chart.JFreeChart jfreeChart, Image defaultBackgroundImage, Integer defaultBackgroundImageAlignment, Float defaultBackgroundImageAlpha)
    • setChartTitle

      protected void setChartTitle(org.jfree.chart.JFreeChart jfreeChart, Integer baseFontSize)
    • setChartSubtitles

      protected void setChartSubtitles(org.jfree.chart.JFreeChart jfreeChart, Integer baseFontSize) throws JRException
      Throws:
      JRException
    • setChartLegend

      protected void setChartLegend(org.jfree.chart.JFreeChart jfreeChart, Integer baseFontSize)
    • setChartBorder

      protected void setChartBorder(org.jfree.chart.JFreeChart jfreeChart)
    • setPlotBackground

      protected void setPlotBackground(org.jfree.chart.plot.Plot p, JRChartPlot jrPlot)
    • handleCategoryPlotSettings

      protected void handleCategoryPlotSettings(org.jfree.chart.plot.CategoryPlot p, JRChartPlot jrPlot)
    • setPlotDrawingDefaults

      protected void setPlotDrawingDefaults(org.jfree.chart.plot.Plot p, JRChartPlot jrPlot)
    • setAxisLine

      protected void setAxisLine(org.jfree.chart.axis.Axis axis, Paint lineColor)
    • setAxisLabel

      protected void setAxisLabel(org.jfree.chart.axis.Axis axis, JRFont labelFont, Paint labelColor, Integer baseFontSize)
    • setAxisTickLabels

      protected void setAxisTickLabels(org.jfree.chart.axis.Axis axis, JRFont tickLabelFont, Paint tickLabelColor, String tickLabelMask, Integer baseFontSize)
    • setAxisTickMarks

      protected void setAxisTickMarks(org.jfree.chart.axis.Axis axis, Paint lineColor)
    • setAxisBounds

      protected void setAxisBounds(org.jfree.chart.axis.Axis axis, boolean isRangeAxis, String timePeriodUnit, Comparable<?> minValue, Comparable<?> maxValue) throws JRException
      Throws:
      JRException
    • calculateTickUnits

      protected void calculateTickUnits(org.jfree.chart.axis.Axis axis, boolean isRangeAxis, String timePeriodUnit)
      For a given axis, adjust the tick unit size, in order to have a customizable number of ticks on that axis
    • isShowLegend

      protected boolean isShowLegend()
      Specifies whether a chart legend should be visible or no by default.
    • getTimePeriodUnit

      protected org.jfree.chart.axis.DateTickUnitType getTimePeriodUnit(String timePeriodUnit)
      Returns the specific org.jfree.chart.axis.DateTickUnit time unit constant related to the String value passed as argument
      Parameters:
      timePeriodUnit - - a String represented by one of the following accepted values: ["Year", "Month", "Day", "Hour", "Minute", "Second", "Millisecond"]
      Returns:
      the specific org.jfree.chart.axis.DateTickUnit time unit constant
    • getDefaultValue

      protected Object getDefaultValue(Map<String,?> map, Object key)
    • getFont

      protected Font getFont(JRFont themeFont, JRFont ownFont, Integer baseFontSize)
    • getFont

      protected JRFont getFont(JRFont font)
    • getDefaultChartPropertiesMap

      public Map<String,?> getDefaultChartPropertiesMap()
      Returns:
      the defaultChartPropertiesMap
    • setDefaultChartPropertiesMap

      public void setDefaultChartPropertiesMap(Map<String,?> defaultChartPropertiesMap)
      Parameters:
      defaultChartPropertiesMap - the defaultChartPropertiesMap to set
    • getDefaultPlotPropertiesMap

      public Map<String,?> getDefaultPlotPropertiesMap()
      Returns:
      the defaultPlotPropertiesMap
    • setDefaultPlotPropertiesMap

      public void setDefaultPlotPropertiesMap(Map<String,?> defaultPlotPropertiesMap)
      Parameters:
      defaultPlotPropertiesMap - the defaultPlotPropertiesMap to set
    • getDefaultAxisPropertiesMap

      public Map<String,?> getDefaultAxisPropertiesMap()
      Returns:
      the defaultAxisPropertiesMap
    • setDefaultAxisPropertiesMap

      public void setDefaultAxisPropertiesMap(Map<String,?> defaultAxisPropertiesMap)
      Parameters:
      defaultAxisPropertiesMap - the defaultAxisPropertiesMap to set
    • getDefaultChartTypePropertiesMap

      public Map<String,?> getDefaultChartTypePropertiesMap()
      Returns:
      the defaultChartTypePropertiesMap
    • setDefaultChartTypePropertiesMap

      public void setDefaultChartTypePropertiesMap(Map<String,?> defaultChartTypePropertiesMap)
      Parameters:
      defaultChartTypePropertiesMap - the defaultChartTypePropertiesMap to set