Record Class ObjectiveValue

java.lang.Object
java.lang.Record
com.eqixiac.equinix.design.spi.ObjectiveValue
Record Components:
value - the measurement in the objective's unit; Double.NaN when known is false
known - false when the objective could not be measured (missing data), which is reported as unknown and never treated as a good or a bad value
explanation - how the value was reached, or why it is unknown; shown to the reader

public record ObjectiveValue(double value, boolean known, String explanation) extends Record
What an Objective measured for one portfolio.
  • Constructor Details

    • ObjectiveValue

      public ObjectiveValue(double value, boolean known, String explanation)
      Rejects a known value that is not a finite number.
  • Method Details

    • of

      public static ObjectiveValue of(double value, String explanation)
      Parameters:
      value - the measurement
      explanation - how it was reached
      Returns:
      a known value
    • unknown

      public static ObjectiveValue unknown(String reason)
      Parameters:
      reason - why the objective could not be measured
      Returns:
      an unknown value
    • 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. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with the compare method from their corresponding wrapper classes.
      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.
    • value

      public double value()
      Returns the value of the value record component.
      Returns:
      the value of the value record component
    • known

      public boolean known()
      Returns the value of the known record component.
      Returns:
      the value of the known record component
    • explanation

      public String explanation()
      Returns the value of the explanation record component.
      Returns:
      the value of the explanation record component