Record Class EvalResult

java.lang.Object
java.lang.Record
dev.dokimos.core.EvalResult
Record Components:
name - the evaluator name
score - the numeric score
threshold - the threshold used to determine success (may be null if not applicable)
success - whether the evaluation succeeded or not
reason - explanation for the returned score
metadata - additional result metadata

public record EvalResult(String name, double score, Double threshold, boolean success, String reason, Map<String,Object> metadata) extends Record
The result of an evaluation.
  • Constructor Details

    • EvalResult

      public EvalResult(String name, double score, Double threshold, boolean success, String reason, Map<String,Object> metadata)
      Creates an instance of a EvalResult record class.
      Parameters:
      name - the value for the name record component
      score - the value for the score record component
      threshold - the value for the threshold record component
      success - the value for the success record component
      reason - the value for the reason record component
      metadata - the value for the metadata record component
    • EvalResult

      public EvalResult(String name, double score, boolean success, String reason, Map<String,Object> metadata)
      Creates an EvalResult without a threshold (for backwards compatibility).
  • Method Details

    • of

      public static EvalResult of(String name, double score, double threshold, String reason)
      Creates a result by comparing the score against a threshold.
      Parameters:
      name - the evaluator name
      score - the numeric score
      threshold - the success threshold
      reason - explanation for the score
      Returns:
      a new result
    • success

      public static EvalResult success(String name, double score, String reason)
      Creates a successful result.
      Parameters:
      name - the evaluator name
      score - the numeric score
      reason - explanation for the score
      Returns:
      a new successful result
    • failure

      public static EvalResult failure(String name, double score, String reason)
      Creates a failed result.
      Parameters:
      name - the evaluator name
      score - the numeric score
      reason - explanation for the failure
      Returns:
      a new failed result
    • builder

      public static EvalResult.Builder builder()
      Creates a new builder for constructing results.
      Returns:
      a new builder
    • 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 '=='.
      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.
    • name

      public String name()
      Returns the value of the name record component.
      Returns:
      the value of the name record component
    • score

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

      public Double threshold()
      Returns the value of the threshold record component.
      Returns:
      the value of the threshold record component
    • success

      public boolean success()
      Returns the value of the success record component.
      Returns:
      the value of the success record component
    • reason

      public String reason()
      Returns the value of the reason record component.
      Returns:
      the value of the reason record component
    • metadata

      public Map<String,Object> metadata()
      Returns the value of the metadata record component.
      Returns:
      the value of the metadata record component