Record Class ValueScale.RatioToBest

java.lang.Object
java.lang.Record
com.eqixiac.equinix.design.spi.ValueScale.RatioToBest
All Implemented Interfaces:
ValueScale
Enclosing interface:
ValueScale

public static record ValueScale.RatioToBest() extends Record implements ValueScale
The ratio to the best value: an option 7% dearer than the cheapest scores about 93, one twice as dear scores 50. Needs positive values; when the best value is not positive it falls back to ValueScale.Range.
  • Constructor Details

    • RatioToBest

      public RatioToBest()
      Creates an instance of a RatioToBest record class.
  • Method Details

    • score

      public double score(double value, double best, double worst, Direction direction)
      Specified by:
      score in interface ValueScale
      Parameters:
      value - the raw value (never NaN)
      best - the best value among the options being ranked
      worst - the worst value among the options being ranked
      direction - whether smaller or larger is better
      Returns:
      the score, 0..100
    • describe

      public String describe()
      Specified by:
      describe in interface ValueScale
      Returns:
      a one-line description for reports
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.