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:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.pentaho.plugin.jfreereport.reportcharts.AbstractChartExpression
EMPTY_STROKE, LINE_STYLE_DASH_STR, LINE_STYLE_DASHDOT_STR, LINE_STYLE_DASHDOTDOT_STR, LINE_STYLE_DOT_STR, LINE_STYLE_SOLID_STR
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
CategoricalChartExpression()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected org.jfree.chart.JFreeChart
computeCategoryChart(org.jfree.data.category.CategoryDataset dataset)
protected org.jfree.chart.JFreeChart
computeChart(org.jfree.data.general.Dataset dataset)
protected org.jfree.chart.plot.PlotOrientation
computePlotOrientation()
protected void
configureChart(org.jfree.chart.JFreeChart chart)
protected void
configureLogarithmicAxis(org.jfree.chart.plot.CategoryPlot plot)
protected void
configureRangeAxis(org.jfree.chart.plot.CategoryPlot cpl, Font labelFont)
protected org.jfree.chart.axis.CategoryLabelPosition
createUpRotationCategoryLabelPosition(org.pentaho.plugin.jfreereport.reportcharts.CategoricalChartExpression.PlaneDirection axisPosition, double labelAngle)
Used instead oforg.jfree.chart.axis.CategoryLabelPosition.createUpRotationLabelPositions
.String
getCategoricalAxisMessageFormat()
Double
getCategoricalItemLabelRotation()
Double
getCategoricalItemLabelRotationDeg()
String
getCategoricalLabelDateFormat()
String
getCategoricalLabelDecimalFormat()
String
getCategoricalLabelFormat()
String
getCategoryAxisLabel()
Double
getCategoryMargin()
Font
getCategoryTickFont()
Font
getCategoryTitleFont()
org.jfree.chart.JFreeChart
getChart(org.jfree.data.category.CategoryDataset categoryDataset)
Deprecated.should not be public and should not be a getter.protected int
getDateUnitAsInt(Class domainTimePeriod)
org.pentaho.reporting.engine.classic.core.function.Expression
getInstance()
Return a completly separated copy of this function.Double
getLabelRotation()
Double
getLabelRotationDeg()
Double
getLowerMargin()
Float
getMaxCategoryLabelWidthRatio()
double
getRangeMaximum()
Return the range axis' maximum valuedouble
getRangeMinimum()
Return the range axis' minimum valuedouble
getRangePeriodCount()
Font
getRangeTickFont()
Return the java.awt.Font to be used to display the range axis tick labelsNumberFormat
getRangeTickFormat()
String
getRangeTickFormatString()
Class
getRangeTimePeriod()
Font
getRangeTitleFont()
double
getScaleFactor()
protected org.pentaho.plugin.jfreereport.reportcharts.CategoricalChartExpression.PlaneDirection
getTextAnchorDirectionOfAngle(double angle)
Chooses a proper anchor for a text label at a chart axis tick.Double
getUpperMargin()
String
getValueAxisLabel()
boolean
isAutoRange()
boolean
isHorizontal()
boolean
isHumanReadableLogarithmicFormat()
boolean
isLogarithmicAxis()
boolean
isRangeIncludesZero()
boolean
isRangeStickyZero()
boolean
isShowGridlines()
void
reconfigureForCompatibility(int versionTag)
void
setAutoRange(boolean autoRange)
void
setCategoricalAxisMessageFormat(String categoricalAxisMessageFormat)
void
setCategoricalItemLabelRotation(Double value)
void
setCategoricalItemLabelRotationDeg(Double value)
void
setCategoricalLabelDateFormat(String value)
void
setCategoricalLabelDecimalFormat(String value)
void
setCategoricalLabelFormat(String value)
void
setCategoryAxisLabel(String categoryAxisLabel)
void
setCategoryMargin(Double categoryMargin)
void
setCategoryTickFont(Font categoryTickFont)
void
setCategoryTitleFont(Font categoryTitleFont)
void
setHorizontal(boolean value)
void
setHumanReadableLogarithmicFormat(boolean humanReadableLogarithmicFormat)
void
setLabelRotation(Double value)
void
setLabelRotationDeg(Double value)
void
setLogarithmicAxis(boolean logarithmicAxis)
void
setLowerMargin(Double lowerMargin)
void
setMaxCategoryLabelWidthRatio(Float value)
void
setRangeIncludesZero(boolean rangeIncludesZero)
void
setRangeMaximum(double rangeMaximum)
void
setRangeMinimum(double rangeMinimum)
void
setRangePeriodCount(double rangePeriodCount)
void
setRangeStickyZero(boolean rangeStickyZero)
void
setRangeTickFont(Font rangeTickFont)
void
setRangeTickFormat(NumberFormat rangeTickFormat)
void
setRangeTickFormatString(String rangeTickFormatString)
void
setRangeTimePeriod(Class rangeTimePeriod)
void
setRangeTitleFont(Font rangeTitleFont)
void
setScaleFactor(double scaleFactor)
void
setShowGridlines(boolean value)
void
setUpperMargin(Double upperMargin)
void
setValueAxisLabel(String valueAxisLabel)
-
Methods inherited from class org.pentaho.plugin.jfreereport.reportcharts.AbstractChartExpression
addExpression, computeTitle, getBackgroundColor, getBackgroundImage, getBorderColor, getChartDirectory, getChartFile, getChartFromCache, getChartHeight, getChartUrlMask, getChartWidth, getColorFromString, getDataSource, getDependencyLevel, getExpressionMap, getHyperlinkFormulas, getItemLabelFont, getItemsLabelVisible, getLabelFont, getLegendBackgroundColor, getLegendFont, getLegendLocation, getLegendTextColor, getNoDataMessage, getPlotBackgroundAlpha, getPlotBackgroundColor, getPlotForegroundAlpha, getPossibleExpressionStringValue, getPostProcessingLanguage, getPostProcessingScript, getSeriesColor, getSeriesColor, getSeriesColorCount, getSeriesColors, getTitle, getTitleField, getTitleFont, getTitleText, getTooltipFormula, getUrlFormula, getValue, isAntiAlias, isChartSectionOutline, isDrawLegendBorder, isReturnFileNameOnly, isReturnImageReference, isShowBorder, isShowLegend, isThreeD, isUseDrawable, loadChartFromCache, parseColorFromString, postProcessChart, putChartInCache, removeExpression, setAntiAlias, setBackgroundColor, setBackgroundImage, setBorderColor, setChartDirectory, setChartFile, setChartHeight, setChartSectionOutline, setChartUrlMask, setChartWidth, setDataSource, setDependencyLevel, setDrawLegendBorder, setExpressionMap, setItemLabelFont, setItemsLabelVisible, setLabelFont, setLegendBackgroundColor, setLegendFont, setLegendLocation, setLegendTextColor, setNoDataMessage, setPlotBackgroundAlpha, setPlotBackgroundColor, setPlotForegroundAlpha, setPostProcessingLanguage, setPostProcessingScript, setReturnFileNameOnly, setReturnImageReference, setSeriesColor, setSeriesColor, setShowBorder, setShowLegend, setThreeD, setTitle, setTitleField, setTitleFont, setTitleText, setTooltipFormula, setUrlFormula, setUseDrawable, standardTickUnitsApplyFormat, storeChartInCache, translateEdge, translateLineStyle
-
Methods inherited from class org.pentaho.reporting.engine.classic.core.function.AbstractExpression
clone, getDataRow, getName, getReportConfiguration, getResourceBundleFactory, getRuntime, isActive, isDeepTraversing, isPreserve, setActive, setName, setPreserve, setRuntime
-
-
-
-
Method Detail
-
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 classAbstractChartExpression
-
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 classAbstractChartExpression
-
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 interfaceorg.pentaho.reporting.engine.classic.core.function.Expression
- Overrides:
getInstance
in classAbstractChartExpression
- Returns:
- a copy of this function.
-
getDateUnitAsInt
protected int getDateUnitAsInt(Class domainTimePeriod)
-
reconfigureForCompatibility
public void reconfigureForCompatibility(int versionTag)
- Specified by:
reconfigureForCompatibility
in interfaceorg.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 oforg.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:
-
-