Class Evaluator<T>


  • public abstract class Evaluator<T>
    extends java.lang.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

      Constructors 
      Constructor Description
      Evaluator()  
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      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.