Class CategoricalChartExpression

java.lang.Object
org.pentaho.reporting.engine.classic.core.function.AbstractExpression
org.pentaho.plugin.jfreereport.reportcharts.AbstractChartExpression
org.pentaho.plugin.jfreereport.reportcharts.CategoricalChartExpression
All Implemented Interfaces:
Serializable, Cloneable, ChartExpression, org.pentaho.reporting.engine.classic.core.DynamicExpression, org.pentaho.reporting.engine.classic.core.function.Expression, org.pentaho.reporting.engine.classic.core.LegacyUpdateHandler
Direct Known Subclasses:
LineChartExpression, StackedCategoricalChartExpression, WaterfallChartExpressions

public abstract class CategoricalChartExpression extends AbstractChartExpression implements org.pentaho.reporting.engine.classic.core.LegacyUpdateHandler
This class allows you to embed categorical charts into JFreeReport XML definitions.
Author:
mbatchel
See Also:
  • Constructor Details

    • CategoricalChartExpression

      protected CategoricalChartExpression()
  • Method Details

    • getCategoryTitleFont

      public Font getCategoryTitleFont()
    • setCategoryTitleFont

      public void setCategoryTitleFont(Font categoryTitleFont)
    • getCategoryTickFont

      public Font getCategoryTickFont()
    • setCategoryTickFont

      public void setCategoryTickFont(Font categoryTickFont)
    • getRangeTickFormatString

      public String getRangeTickFormatString()
    • setRangeTickFormatString

      public void setRangeTickFormatString(String rangeTickFormatString)
    • getCategoricalAxisMessageFormat

      public String getCategoricalAxisMessageFormat()
    • setCategoricalAxisMessageFormat

      public void setCategoricalAxisMessageFormat(String categoricalAxisMessageFormat)
    • getRangeTickFont

      public Font getRangeTickFont()
      Return the java.awt.Font to be used to display the range axis tick labels
      Returns:
      Font The Font for the range axis tick labels
    • setRangeTickFont

      public void setRangeTickFont(Font rangeTickFont)
      Parameters:
      rangeTickFont - The rangeTitleFont to set.
    • getRangeMinimum

      public double getRangeMinimum()
      Return the range axis' minimum value
      Returns:
      double Range axis' minimum value
    • setRangeMinimum

      public void setRangeMinimum(double rangeMinimum)
      Parameters:
      rangeMinimum - Set the minimum value of the range axis.
    • getRangeMaximum

      public double getRangeMaximum()
      Return the range axis' maximum value
      Returns:
      double Range axis' maximum value
    • setRangeMaximum

      public void setRangeMaximum(double rangeMaximum)
      Parameters:
      rangeMaximum - Set the maximum value of the range axis.
    • getRangeTitleFont

      public Font getRangeTitleFont()
      Returns:
      Returns the rangeTitleFont.
    • setRangeTitleFont

      public void setRangeTitleFont(Font rangeTitleFont)
      Parameters:
      rangeTitleFont - The rangeTitleFont to set.
    • getRangeTickFormat

      public NumberFormat getRangeTickFormat()
      Returns:
      Returns the rangeTickFormat.
    • setRangeTickFormat

      public void setRangeTickFormat(NumberFormat rangeTickFormat)
      Parameters:
      rangeTickFormat - The range tick number format to set.
    • isRangeIncludesZero

      public boolean isRangeIncludesZero()
      Returns:
      Returns the rangeIncludeZero.
    • setRangeIncludesZero

      public void setRangeIncludesZero(boolean rangeIncludesZero)
      Parameters:
      rangeIncludesZero - The domainIncludesZero to set.
    • isRangeStickyZero

      public boolean isRangeStickyZero()
      Returns:
      Returns the rangeStickyZero.
    • setRangeStickyZero

      public void setRangeStickyZero(boolean rangeStickyZero)
      Parameters:
      rangeStickyZero - The rangeStickyZero to set.
    • isLogarithmicAxis

      public boolean isLogarithmicAxis()
    • setLogarithmicAxis

      public void setLogarithmicAxis(boolean logarithmicAxis)
    • isHumanReadableLogarithmicFormat

      public boolean isHumanReadableLogarithmicFormat()
    • setHumanReadableLogarithmicFormat

      public void setHumanReadableLogarithmicFormat(boolean humanReadableLogarithmicFormat)
    • getLowerMargin

      public Double getLowerMargin()
    • setLowerMargin

      public void setLowerMargin(Double lowerMargin)
    • getUpperMargin

      public Double getUpperMargin()
    • setUpperMargin

      public void setUpperMargin(Double upperMargin)
    • getCategoryMargin

      public Double getCategoryMargin()
    • setCategoryMargin

      public void setCategoryMargin(Double categoryMargin)
    • getLabelRotationDeg

      public Double getLabelRotationDeg()
    • setLabelRotationDeg

      public void setLabelRotationDeg(Double value)
    • getLabelRotation

      public Double getLabelRotation()
    • setLabelRotation

      public void setLabelRotation(Double value)
    • getCategoricalItemLabelRotationDeg

      public Double getCategoricalItemLabelRotationDeg()
    • setCategoricalItemLabelRotationDeg

      public void setCategoricalItemLabelRotationDeg(Double value)
    • getCategoricalItemLabelRotation

      public Double getCategoricalItemLabelRotation()
    • setCategoricalItemLabelRotation

      public void setCategoricalItemLabelRotation(Double value)
    • setMaxCategoryLabelWidthRatio

      public void setMaxCategoryLabelWidthRatio(Float value)
    • getMaxCategoryLabelWidthRatio

      public Float getMaxCategoryLabelWidthRatio()
    • isShowGridlines

      public boolean isShowGridlines()
    • setShowGridlines

      public void setShowGridlines(boolean value)
    • isHorizontal

      public boolean isHorizontal()
    • setHorizontal

      public void setHorizontal(boolean value)
    • getValueAxisLabel

      public String getValueAxisLabel()
    • setValueAxisLabel

      public void setValueAxisLabel(String valueAxisLabel)
    • getCategoryAxisLabel

      public String getCategoryAxisLabel()
    • setCategoryAxisLabel

      public void setCategoryAxisLabel(String categoryAxisLabel)
    • setCategoricalLabelFormat

      public void setCategoricalLabelFormat(String value)
    • getCategoricalLabelFormat

      public String getCategoricalLabelFormat()
    • setCategoricalLabelDecimalFormat

      public void setCategoricalLabelDecimalFormat(String value)
    • getCategoricalLabelDecimalFormat

      public String getCategoricalLabelDecimalFormat()
    • setCategoricalLabelDateFormat

      public void setCategoricalLabelDateFormat(String value)
    • getCategoricalLabelDateFormat

      public String getCategoricalLabelDateFormat()
    • isAutoRange

      public boolean isAutoRange()
    • setAutoRange

      public void setAutoRange(boolean autoRange)
    • getScaleFactor

      public double getScaleFactor()
    • setScaleFactor

      public void setScaleFactor(double scaleFactor)
    • computeChart

      protected org.jfree.chart.JFreeChart computeChart(org.jfree.data.general.Dataset dataset)
      Overrides:
      computeChart in class AbstractChartExpression
    • computeCategoryChart

      protected org.jfree.chart.JFreeChart computeCategoryChart(org.jfree.data.category.CategoryDataset dataset)
    • getChart

      public org.jfree.chart.JFreeChart getChart(org.jfree.data.category.CategoryDataset categoryDataset)
      Deprecated.
      should not be public and should not be a getter. In fact. it will be removed in PRD-4.0
      Parameters:
      categoryDataset - the dataset.
      Returns:
      the generated chart. This implementation returns null.
    • computePlotOrientation

      protected org.jfree.chart.plot.PlotOrientation computePlotOrientation()
    • configureChart

      protected void configureChart(org.jfree.chart.JFreeChart chart)
      Overrides:
      configureChart in class AbstractChartExpression
    • configureRangeAxis

      protected void configureRangeAxis(org.jfree.chart.plot.CategoryPlot cpl, Font labelFont)
    • configureLogarithmicAxis

      protected void configureLogarithmicAxis(org.jfree.chart.plot.CategoryPlot plot)
    • getRangeTimePeriod

      public Class getRangeTimePeriod()
    • setRangeTimePeriod

      public void setRangeTimePeriod(Class rangeTimePeriod)
    • getRangePeriodCount

      public double getRangePeriodCount()
    • setRangePeriodCount

      public void setRangePeriodCount(double rangePeriodCount)
    • getInstance

      public org.pentaho.reporting.engine.classic.core.function.Expression getInstance()
      Return a completly separated copy of this function. The copy does no longer share any changeable objects with the original function.
      Specified by:
      getInstance in interface org.pentaho.reporting.engine.classic.core.function.Expression
      Overrides:
      getInstance in class AbstractChartExpression
      Returns:
      a copy of this function.
    • getDateUnitAsInt

      protected int getDateUnitAsInt(Class domainTimePeriod)
    • reconfigureForCompatibility

      public void reconfigureForCompatibility(int versionTag)
      Specified by:
      reconfigureForCompatibility in interface org.pentaho.reporting.engine.classic.core.LegacyUpdateHandler
    • createUpRotationCategoryLabelPosition

      protected org.jfree.chart.axis.CategoryLabelPosition createUpRotationCategoryLabelPosition(org.pentaho.plugin.jfreereport.reportcharts.CategoricalChartExpression.PlaneDirection axisPosition, double labelAngle)
      Used instead of org.jfree.chart.axis.CategoryLabelPosition.createUpRotationLabelPositions.

      It additionally takes into consideration the axis position.

      Parameters:
      axisPosition -
      labelAngle -
      Returns:
    • getTextAnchorDirectionOfAngle

      protected org.pentaho.plugin.jfreereport.reportcharts.CategoricalChartExpression.PlaneDirection getTextAnchorDirectionOfAngle(double angle)
      Chooses a proper anchor for a text label at a chart axis tick.

      E.g.

      Axis position is LEFT, label rotation = 0. So angle = 0.

      Axis position is BOTTOM, label rotation = 90. So angle = 0.

      Axis position is BOTTOM, label rotation = 0. So angle = pi/2 (90 degrees).

      Parameters:
      angle - can be assumed as the label-relative direction to the axis.
      Returns: