Class SurveyScale
- java.lang.Object
-
- org.pentaho.reporting.engine.classic.core.modules.misc.survey.SurveyScale
-
- All Implemented Interfaces:
Serializable
,ReportDrawable
public class SurveyScale extends Object implements ReportDrawable, Serializable
Draws a survey scale. By implementing the Drawable interface, instances can be displayed within a report using elements that use theContentType
class.- Author:
- David Gilbert
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description SurveyScale()
Creates a new default instance.SurveyScale(int lowest, int highest, Number[] values)
Creates a new instance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static Shape
createDiamond(float s)
Creates a diamond shape.static Shape
createDownTriangle(float s)
Creates a triangle shape that points downwards.protected ArrayList<Shape>
createShapeList()
Creates the shape list used when drawing the scale.static Shape
createUpTriangle(float s)
Creates a triangle shape that points upwards.void
draw(Graphics2D g2, Rectangle2D area)
Draws the survey scale.protected void
drawRangeArea(Rectangle2D area, Graphics2D g2)
protected void
drawScaleValues(Graphics2D g2, Rectangle2D area)
protected void
drawTickMarks(Graphics2D g2, Rectangle2D area)
protected void
drawValues(Graphics2D g2, Rectangle2D area)
Shape
getDefaultShape()
Returns the default shape, which is used, if a shape for a certain value is not defined.Paint
getFillPaint()
int
getHighest()
ImageMap
getImageMap(Rectangle2D bounds)
Returns an optional image-map for the entry.protected double
getLowerBound()
double
getLowerMargin()
int
getLowest()
Stroke
getOutlineStroke()
protected int
getRange()
Number
getRangeLowerBound()
Returns the lower bound of the highlighted range.Paint
getRangePaint()
Returns the paint used to highlight the range.Number
getRangeUpperBound()
Returns the upper bound of the highlighted range.Font
getScaleValueFont()
Returns the font used to display the scale values.Paint
getScaleValuePaint()
Returns the color used to draw the scale values (if they are visible).Shape
getShape(int index)
Returns the shape used to indicate the value of a response.StyleSheet
getStyleSheet()
Paint
getTickMarkPaint()
protected double
getUpperBound()
double
getUpperMargin()
Number[]
getValues()
boolean
isAutoConfigure()
boolean
isDrawScaleValues()
Returns a flag that controls whether or not scale values are drawn.boolean
isDrawTickMarks()
Returns the flag that controls whether the tick marks are drawn.boolean
isShapeFilled(int index)
Returns a flag that controls whether the shape for a particular value should be filled.protected void
recompute()
This method is called whenever lowest or highest has changed.void
setAutoConfigure(boolean autoConfigure)
void
setConfiguration(org.pentaho.reporting.libraries.base.config.Configuration config)
Provides the current report configuration of the current report process to the drawable.void
setDefaultShape(Shape defaultShape)
Redefines the default shape.void
setDefaultShape(SurveyScaleShapeType shapeType)
void
setDrawScaleValues(boolean flag)
Sets a flag that controls whether or not scale values are drawn.void
setDrawTickMarks(boolean flag)
Sets the flag that controls whether the tick marks are drawn.void
setFillPaint(Paint fillPaint)
void
setHighest(int highest)
protected void
setLowerBound(double lowerBound)
void
setLowerMargin(double lowerMargin)
void
setLowest(int lowest)
void
setOutlineStroke(Stroke outlineStroke)
protected void
setRange(int range)
void
setRangeLowerBound(Number bound)
Sets the lower bound for the range that is highlighted on the scale.void
setRangePaint(Paint paint)
Sets the paint used to highlight the range (if one is specified).void
setRangeUpperBound(Number bound)
Sets the upper bound for the range that is highlighted on the scale.void
setResourceBundleFactory(ResourceBundleFactory bundleFactory)
Defines the resource-bundle factory that can be used to localize the drawing process.void
setScaleValueFont(Font font)
Sets the font used to display the scale values.void
setScaleValuePaint(Paint paint)
Sets the color used to draw the scale values.void
setShape(int index, Shape shape)
Sets the shape used to mark a particular value in the dataset.void
setShape(int index, SurveyScaleShapeType shape)
Sets the shape used to mark a particular value in the dataset.void
setShapeFilled(int index, boolean fill)
Sets the flag that controls whether the shape for a particular value should be filled.void
setStyleSheet(StyleSheet style)
Provides the computed stylesheet of the report element that contained this drawable.void
setTickMarkPaint(Paint tickMarkPaint)
protected void
setUpperBound(double upperBound)
void
setUpperMargin(double upperMargin)
-
-
-
Constructor Detail
-
SurveyScale
public SurveyScale()
Creates a new default instance.
-
SurveyScale
public SurveyScale(int lowest, int highest, Number[] values)
Creates a new instance.- Parameters:
lowest
- the lowest response value on the scale.highest
- the highest response value on the scale.values
- the values to display.
-
-
Method Detail
-
isAutoConfigure
public boolean isAutoConfigure()
-
setAutoConfigure
public void setAutoConfigure(boolean autoConfigure)
-
getLowest
public int getLowest()
-
setLowest
public void setLowest(int lowest)
-
getHighest
public int getHighest()
-
setHighest
public void setHighest(int highest)
-
recompute
protected void recompute()
This method is called whenever lowest or highest has changed. It will recompute the range and upper and lower bounds.
-
getRange
protected int getRange()
-
setRange
protected void setRange(int range)
-
getLowerBound
protected double getLowerBound()
-
setLowerBound
protected void setLowerBound(double lowerBound)
-
getUpperBound
protected double getUpperBound()
-
setUpperBound
protected void setUpperBound(double upperBound)
-
createShapeList
protected ArrayList<Shape> createShapeList()
Creates the shape list used when drawing the scale. The list returned must contain exactly 6 elements.- Returns:
-
createDiamond
public static Shape createDiamond(float s)
Creates a diamond shape.- Parameters:
s
- the size factor (equal to half the height of the diamond).- Returns:
- A diamond shape.
-
createUpTriangle
public static Shape createUpTriangle(float s)
Creates a triangle shape that points upwards.- Parameters:
s
- the size factor (equal to half the height of the triangle).- Returns:
- A triangle shape.
-
createDownTriangle
public static Shape createDownTriangle(float s)
Creates a triangle shape that points downwards.- Parameters:
s
- the size factor (equal to half the height of the triangle).- Returns:
- A triangle shape.
-
getRangeLowerBound
public Number getRangeLowerBound()
Returns the lower bound of the highlighted range. Anull
value indicates that no range is set for highlighting.- Returns:
- The lower bound (possibly
null
).
-
setRangeLowerBound
public void setRangeLowerBound(Number bound)
Sets the lower bound for the range that is highlighted on the scale.- Parameters:
bound
- the lower bound (null
permitted).
-
getRangeUpperBound
public Number getRangeUpperBound()
Returns the upper bound of the highlighted range. Anull
value indicates that no range is set for highlighting.- Returns:
- The upper bound (possibly
null
).
-
setRangeUpperBound
public void setRangeUpperBound(Number bound)
Sets the upper bound for the range that is highlighted on the scale.- Parameters:
bound
- the upper bound (null
permitted).
-
isDrawTickMarks
public boolean isDrawTickMarks()
Returns the flag that controls whether the tick marks are drawn.- Returns:
- A boolean.
-
setDrawTickMarks
public void setDrawTickMarks(boolean flag)
Sets the flag that controls whether the tick marks are drawn.- Parameters:
flag
- a boolean.
-
isDrawScaleValues
public boolean isDrawScaleValues()
Returns a flag that controls whether or not scale values are drawn.- Returns:
- a boolean.
-
setDrawScaleValues
public void setDrawScaleValues(boolean flag)
Sets a flag that controls whether or not scale values are drawn.- Parameters:
flag
- the flag.
-
getScaleValueFont
public Font getScaleValueFont()
Returns the font used to display the scale values.- Returns:
- A font (never
null
).
-
setScaleValueFont
public void setScaleValueFont(Font font)
Sets the font used to display the scale values.- Parameters:
font
- the font (null
not permitted).
-
getScaleValuePaint
public Paint getScaleValuePaint()
Returns the color used to draw the scale values (if they are visible).- Returns:
- A paint (never
null
).
-
setScaleValuePaint
public void setScaleValuePaint(Paint paint)
Sets the color used to draw the scale values.- Parameters:
paint
- the paint (null
not permitted).
-
getShape
public Shape getShape(int index)
Returns the shape used to indicate the value of a response.- Parameters:
index
- the value index (zero-based).- Returns:
- The shape.
-
setShape
public void setShape(int index, Shape shape)
Sets the shape used to mark a particular value in the dataset.- Parameters:
index
- the value index (zero-based).shape
- the shape (null
not permitted).
-
setShape
public void setShape(int index, SurveyScaleShapeType shape)
Sets the shape used to mark a particular value in the dataset.- Parameters:
index
- the value index (zero-based).shape
- the shape (null
not permitted).
-
isShapeFilled
public boolean isShapeFilled(int index)
Returns a flag that controls whether the shape for a particular value should be filled.- Parameters:
index
- the value index (zero-based).- Returns:
- A boolean.
-
setShapeFilled
public void setShapeFilled(int index, boolean fill)
Sets the flag that controls whether the shape for a particular value should be filled.- Parameters:
index
- the value index (zero-based).fill
- the flag.
-
getRangePaint
public Paint getRangePaint()
Returns the paint used to highlight the range.- Returns:
- A
Paint
object (nevernull
).
-
setRangePaint
public void setRangePaint(Paint paint)
Sets the paint used to highlight the range (if one is specified).- Parameters:
paint
- the paint (null
not permitted).
-
getDefaultShape
public Shape getDefaultShape()
Returns the default shape, which is used, if a shape for a certain value is not defined.- Returns:
- the default shape, never null.
-
setDefaultShape
public void setDefaultShape(Shape defaultShape)
Redefines the default shape.- Parameters:
defaultShape
- the default shape- Throws:
NullPointerException
- if the given shape is null.
-
setDefaultShape
public void setDefaultShape(SurveyScaleShapeType shapeType)
-
getTickMarkPaint
public Paint getTickMarkPaint()
-
setTickMarkPaint
public void setTickMarkPaint(Paint tickMarkPaint)
-
getValues
public Number[] getValues()
-
getFillPaint
public Paint getFillPaint()
-
setFillPaint
public void setFillPaint(Paint fillPaint)
-
getOutlineStroke
public Stroke getOutlineStroke()
-
setOutlineStroke
public void setOutlineStroke(Stroke outlineStroke)
-
getUpperMargin
public double getUpperMargin()
-
setUpperMargin
public void setUpperMargin(double upperMargin)
-
getLowerMargin
public double getLowerMargin()
-
setLowerMargin
public void setLowerMargin(double lowerMargin)
-
draw
public void draw(Graphics2D g2, Rectangle2D area)
Draws the survey scale.- Specified by:
draw
in interfaceReportDrawable
- Parameters:
g2
- the graphics device.area
- the area.
-
drawValues
protected void drawValues(Graphics2D g2, Rectangle2D area)
-
drawScaleValues
protected void drawScaleValues(Graphics2D g2, Rectangle2D area)
-
drawTickMarks
protected void drawTickMarks(Graphics2D g2, Rectangle2D area)
-
drawRangeArea
protected void drawRangeArea(Rectangle2D area, Graphics2D g2)
-
setConfiguration
public void setConfiguration(org.pentaho.reporting.libraries.base.config.Configuration config)
Provides the current report configuration of the current report process to the drawable. The report configuration can be used to configure the drawing process through the report.- Specified by:
setConfiguration
in interfaceReportDrawable
- Parameters:
config
- the report configuration.
-
setStyleSheet
public void setStyleSheet(StyleSheet style)
Provides the computed stylesheet of the report element that contained this drawable. The stylesheet is immutable.- Specified by:
setStyleSheet
in interfaceReportDrawable
- Parameters:
style
- the stylesheet.
-
getStyleSheet
public StyleSheet getStyleSheet()
-
setResourceBundleFactory
public void setResourceBundleFactory(ResourceBundleFactory bundleFactory)
Defines the resource-bundle factory that can be used to localize the drawing process.- Specified by:
setResourceBundleFactory
in interfaceReportDrawable
- Parameters:
bundleFactory
- the resource-bundle factory.
-
getImageMap
public ImageMap getImageMap(Rectangle2D bounds)
Description copied from interface:ReportDrawable
Returns an optional image-map for the entry.- Specified by:
getImageMap
in interfaceReportDrawable
- Parameters:
bounds
- the bounds for which the image map is computed.- Returns:
- the computed image-map or null if there is no image-map available.
-
-