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

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

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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)