Record Class IterateStop.Converged

java.lang.Object
java.lang.Record
com.darkcollective.relix.ast.IterateStop.Converged
Record Components:
columns - the numeric columns tested for convergence; non-empty
tolerance - the largest change still counted as converged; must be ≥ 0
keys - the columns pairing a row with its counterpart in the previous round; non-empty
rounds - the round cap; must be ≥ 1
All Implemented Interfaces:
IterateStop
Enclosing interface:
IterateStop

public static record IterateStop.Converged(List<String> columns, BigDecimal tolerance, List<String> keys, int rounds) extends Record implements IterateStop
UNTIL c, … WITHIN ε PER k, … MAX n ROUNDS — stop when, for every key, every named column changed by at most tolerance since the previous round, and no key appeared or disappeared.
  • Constructor Details

    • Converged

      public Converged(List<String> columns, BigDecimal tolerance, List<String> keys, int rounds)
      Creates an instance of a Converged record class.
      Parameters:
      columns - the value for the columns record component
      tolerance - the value for the tolerance record component
      keys - the value for the keys record component
      rounds - the value for the rounds record component
  • Method Details

    • 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.
    • columns

      public List<String> columns()
      Returns the value of the columns record component.
      Returns:
      the value of the columns record component
    • tolerance

      public BigDecimal tolerance()
      Returns the value of the tolerance record component.
      Returns:
      the value of the tolerance record component
    • keys

      public List<String> keys()
      Returns the value of the keys record component.
      Returns:
      the value of the keys record component
    • rounds

      public int rounds()
      Returns the value of the rounds record component.
      Specified by:
      rounds in interface IterateStop
      Returns:
      the value of the rounds record component