## org.jdesktop.animation.timing.interpolation
Class Evaluator<T>

    java.lang.Object
      org.jdesktop.animation.timing.interpolation.Evaluator<T>

    public abstract class Evaluator<T>

extends Object

This class is used by KeyValues to calculate intermediate values for specific types. This class has built-in support for the following data types:

- java.lang.Byte
- java.lang.Short
- java.lang.Integer
- java.lang.Long
- java.lang.Float
- java.lang.Double
- java.awt.Color
- java.awt.geom.Point2D
- java.awt.geom.Line2D
- java.awt.geom.Dimension2D
- java.awt.geom.Rectangle2D
- java.awt.geom.RoundRectangle2D
- java.awt.geom.Ellipse2D
- java.awt.geom.Arc2D
- java.awt.geom.QuadCurve2D
- java.awt.geom.CubicCurve2D

Constructor Summary
`Evaluator()`

Method Summary
`abstract T` `evaluate(T v0, T v1, float fraction)` Abstract method to evaluate between two boundary values.

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

Constructor Detail

### Evaluator

    public Evaluator()

Method Detail

### evaluate

    public abstract T evaluate(T v0,
                               T v1,
                               float fraction)

  Abstract method to evaluate between two boundary values. Built-in implementations all use linear parametric evaluation:

            v = v0 + (v1 - v0) * fraction

  Extenders of Evaluator will need to override this method and do something similar for their own types. Note that this mechanism may be used to create non-linear interpolators for specific value types, although it may besimpler to just use the linear/parametric interpolation technique here and perform non-linear interpolation through custom Interpolators rather than perform custom calculations in this method; the point of this class is to allow calculations with new/unknown types, not to provide another mechanism for non-linear interpolation.