org.jCharts.axisChart.axis.scale
Class ScaleCalculator

java.lang.Object
  |
  +--org.jCharts.axisChart.axis.scale.ScaleCalculator
Direct Known Subclasses:
AutomaticScaleCalculator, UserDefinedScaleCalculator

public abstract class ScaleCalculator
extends java.lang.Object

Base class for the logic used to compute the scale on the charts. There are two implementations provided and you are free to implement your own if you do not like the default implementations provided.


Field Summary
protected  double increment
           
private  double maxValue
           
private  double minValue
           
private  int numberOfScaleItems
           
private  int roundingPowerOfTen
           
 
Constructor Summary
ScaleCalculator()
           
 
Method Summary
protected abstract  void computeIncrement()
          Computes the scale increment.
 void computeScaleValues()
          Drives the computation of the axis increment and related values taking into account the user specified rounding criteria.
 double getIncrement()
           
 double getMaxValue()
           
 double getMinValue()
           
 int getNumberOfScaleItems()
           
 int getRoundingPowerOfTen()
           
protected  double round(double value, double powerOfTen)
          Rounds the passed value by the power of ten specified
protected  void roundTheIncrement(double powerOfTen)
          Rounds the scale increment up by the power of ten specified in the properties.
 void setMaxValue(double maxValue)
           
 void setMinValue(double minValue)
           
 void setNumberOfScaleItems(int numberOfScaleItems)
           
 void setRoundingPowerOfTen(int powerOfTen)
          Sets the exponent power of ten to round values to.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

minValue

private double minValue

maxValue

private double maxValue

roundingPowerOfTen

private int roundingPowerOfTen

numberOfScaleItems

private int numberOfScaleItems

increment

protected double increment
Constructor Detail

ScaleCalculator

public ScaleCalculator()
Method Detail

computeIncrement

protected abstract void computeIncrement()
Computes the scale increment.


computeScaleValues

public final void computeScaleValues()
Drives the computation of the axis increment and related values taking into account the user specified rounding criteria. So if you specify to round to the nearest 100 and give an increment of 2.5, the increment will become 100.


setMinValue

public final void setMinValue(double minValue)

getMinValue

public final double getMinValue()

setMaxValue

public final void setMaxValue(double maxValue)

getMaxValue

public final double getMaxValue()

getIncrement

public final double getIncrement()

getNumberOfScaleItems

public int getNumberOfScaleItems()

setNumberOfScaleItems

public void setNumberOfScaleItems(int numberOfScaleItems)

setRoundingPowerOfTen

public final void setRoundingPowerOfTen(int powerOfTen)
Sets the exponent power of ten to round values to.

Parameters:
powerOfTen - exponent of ten to round to: 1=10, 2=100, -2=.01

getRoundingPowerOfTen

public final int getRoundingPowerOfTen()

round

protected double round(double value,
                       double powerOfTen)
Rounds the passed value by the power of ten specified

Parameters:
value - the value to round
powerOfTen - the product of 10 times the rounding property.
Returns:
double the rounded result

roundTheIncrement

protected void roundTheIncrement(double powerOfTen)
Rounds the scale increment up by the power of ten specified in the properties.

Parameters:
powerOfTen - the value of 10 times the rounding property.

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object
Returns: