## org.jfree.report.modules.misc.survey
Class SurveyScale

    java.lang.Object
      org.jfree.report.modules.misc.survey.SurveyScale

All Implemented Interfaces:
  java.io.Serializable

    public class SurveyScale

extends java.lang.Object
implements java.io.Serializable

Draws a survey scale. By implementing the Drawable interface, instances can be displayed within a report using the DrawableElement class.

Author:
  David Gilbert
See Also:
  Serialized Form

Constructor Summary
`SurveyScale()` Creates a new default instance.
`SurveyScale(int lowest, int highest, java.lang.Number[] values)` Creates a new instance.

Method Summary
`static java.awt.Shape` `createDiamond(float s)` Creates a diamond shape.
`static java.awt.Shape` `createDownTriangle(float s)` Creates a triangle shape that points downwards.
`protected java.util.ArrayList` `createShapeList()` Creates the shape list used when drawing the scale.
`static java.awt.Shape` `createUpTriangle(float s)` Creates a triangle shape that points upwards.
`void` `draw(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area)` Draws the survey scale.
`protected void` `drawBorder(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area)`
`protected void` `drawRangeArea(java.awt.geom.Rectangle2D area, java.awt.Graphics2D g2)`
`protected void` `drawScaleValues(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area)`
`protected void` `drawTickMarks(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area)`
`protected void` `drawValues(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area)`
`java.awt.Paint` `getBorderPaint()`
`java.awt.Shape` `getDefaultShape()` Returns the default shape, which is used, if a shape for a certain value is not defined.
`java.awt.Paint` `getFillPaint()`
`int` `getHighest()`
`protected double` `getLowerBound()`
`double` `getLowerMargin()`
`int` `getLowest()`
`java.awt.Stroke` `getOutlineStroke()`
`protected int` `getRange()`
`java.lang.Number` `getRangeLowerBound()` Returns the lower bound of the highlighted range.
`java.awt.Paint` `getRangePaint()` Returns the paint used to highlight the range.
`java.lang.Number` `getRangeUpperBound()` Returns the upper bound of the highlighted range.
`java.awt.Font` `getScaleValueFont()` Returns the font used to display the scale values.
`java.awt.Paint` `getScaleValuePaint()` Returns the color used to draw the scale values (if they are visible).
`java.awt.Shape` `getShape(int index)` Returns the shape used to indicate the value of a response.
`java.awt.Paint` `getTickMarkPaint()`
`protected double` `getUpperBound()`
`double` `getUpperMargin()`
`java.lang.Number[]` `getValues()`
`boolean` `isAutoConfigure()`
`boolean` `isDrawBorder()` Returns a flag that controls whether or not a border is drawn around the scale.
`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` `setBorderPaint(java.awt.Paint borderPaint)`
`void` `setDefaultShape(java.awt.Shape defaultShape)` Redefines the default shape.
`void` `setDrawBorder(boolean flag)` Sets a flag that controls whether or not a border is drawn around the scale.
`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(java.awt.Paint fillPaint)`
`void` `setHighest(int highest)`
`protected void` `setLowerBound(double lowerBound)`
`void` `setLowerMargin(double lowerMargin)`
`void` `setLowest(int lowest)`
`void` `setOutlineStroke(java.awt.Stroke outlineStroke)`
`protected void` `setRange(int range)`
`void` `setRangeLowerBound(java.lang.Number bound)` Sets the lower bound for the range that is highlighted on the scale.
`void` `setRangePaint(java.awt.Paint paint)` Sets the paint used to highlight the range (if one is specified).
`void` `setRangeUpperBound(java.lang.Number bound)` Sets the upper bound for the range that is highlighted on the scale.
`void` `setScaleValueFont(java.awt.Font font)` Sets the font used to display the scale values.
`void` `setScaleValuePaint(java.awt.Paint paint)` Sets the color used to draw the scale values.
`void` `setShape(int index, java.awt.Shape 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` `setTickMarkPaint(java.awt.Paint tickMarkPaint)`
`protected void` `setUpperBound(double upperBound)`
`void` `setUpperMargin(double upperMargin)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SurveyScale

    public SurveyScale()

  Creates a new default instance.

### SurveyScale

    public SurveyScale(int lowest,
                       int highest,
                       java.lang.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 java.util.ArrayList createShapeList()

  Creates the shape list used when drawing the scale. The list returned must contain exactly 6 elements.

  Returns:

### createDiamond

    public static java.awt.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 java.awt.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 java.awt.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 java.lang.Number getRangeLowerBound()

  Returns the lower bound of the highlighted range. A `null` value indicates that no range is set for highlighting.

  Returns:
    The lower bound (possibly `null`).

### setRangeLowerBound

    public void setRangeLowerBound(java.lang.Number bound)

  Sets the lower bound for the range that is highlighted on the scale.

  Parameters:
    `bound` - the lower bound (`null` permitted).

### getRangeUpperBound

    public java.lang.Number getRangeUpperBound()

  Returns the upper bound of the highlighted range. A `null` value indicates that no range is set for highlighting.

  Returns:
    The upper bound (possibly `null`).

### setRangeUpperBound

    public void setRangeUpperBound(java.lang.Number bound)

  Sets the upper bound for the range that is highlighted on the scale.

  Parameters:
    `bound` - the upper bound (`null` permitted).

### isDrawBorder

    public boolean isDrawBorder()

  Returns a flag that controls whether or not a border is drawn around the scale.

  Returns:
    A boolean.

### setDrawBorder

    public void setDrawBorder(boolean flag)

  Sets a flag that controls whether or not a border is drawn around the scale.

  Parameters:
    `flag` - the flag.

### 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 java.awt.Font getScaleValueFont()

  Returns the font used to display the scale values.

  Returns:
    A font (never `null`).

### setScaleValueFont

    public void setScaleValueFont(java.awt.Font font)

  Sets the font used to display the scale values.

  Parameters:
    `font` - the font (`null` not permitted).

### getScaleValuePaint

    public java.awt.Paint getScaleValuePaint()

  Returns the color used to draw the scale values (if they are visible).

  Returns:
    A paint (never `null`).

### setScaleValuePaint

    public void setScaleValuePaint(java.awt.Paint paint)

  Sets the color used to draw the scale values.

  Parameters:
    `paint` - the paint (`null` not permitted).

### getShape

    public java.awt.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,
                         java.awt.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).

### 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 java.awt.Paint getRangePaint()

  Returns the paint used to highlight the range.

  Returns:
    A `Paint` object (never `null`).

### setRangePaint

    public void setRangePaint(java.awt.Paint paint)

  Sets the paint used to highlight the range (if one is specified).

  Parameters:
    `paint` - the paint (`null` not permitted).

### getBorderPaint

    public java.awt.Paint getBorderPaint()

### setBorderPaint

    public void setBorderPaint(java.awt.Paint borderPaint)

### getDefaultShape

    public java.awt.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(java.awt.Shape defaultShape)

  Redefines the default shape.

  Parameters:
    `defaultShape` - the default shape
  Throws:
    `java.lang.NullPointerException` - if the given shape is null.

### getTickMarkPaint

    public java.awt.Paint getTickMarkPaint()

### setTickMarkPaint

    public void setTickMarkPaint(java.awt.Paint tickMarkPaint)

### getValues

    public java.lang.Number[] getValues()

### getFillPaint

    public java.awt.Paint getFillPaint()

### setFillPaint

    public void setFillPaint(java.awt.Paint fillPaint)

### getOutlineStroke

    public java.awt.Stroke getOutlineStroke()

### setOutlineStroke

    public void setOutlineStroke(java.awt.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(java.awt.Graphics2D g2,
                     java.awt.geom.Rectangle2D area)

  Draws the survey scale.

  Parameters:
    `g2` - the graphics device.
    `area` - the area.

### drawValues

    protected void drawValues(java.awt.Graphics2D g2,
                              java.awt.geom.Rectangle2D area)

### drawScaleValues

    protected void drawScaleValues(java.awt.Graphics2D g2,
                                   java.awt.geom.Rectangle2D area)

### drawTickMarks

    protected void drawTickMarks(java.awt.Graphics2D g2,
                                 java.awt.geom.Rectangle2D area)

### drawRangeArea

    protected void drawRangeArea(java.awt.geom.Rectangle2D area,
                                 java.awt.Graphics2D g2)

### drawBorder

    protected void drawBorder(java.awt.Graphics2D g2,
                              java.awt.geom.Rectangle2D area)