Record Class DesignSolution

java.lang.Object
java.lang.Record
com.eqixiac.equinix.design.spi.DesignSolution
Record Components:
recommended - the feasible option with the highest weighted score, or null when no portfolio satisfies every constraint
frontier - the Pareto-optimal options: each is a different, defensible trade-off; ordered by weighted score, best first
evaluated - how many portfolios were examined
feasible - how many of them satisfied every constraint
exact - true when every portfolio in range was examined, so the frontier is complete; false when the search was a heuristic over a subset
notes - what the reader should know about the search (why it was not exact, which constraint removed the most options, ties broken and how)

public record DesignSolution(DesignOption recommended, List<DesignOption> frontier, long evaluated, long feasible, boolean exact, List<String> notes) extends Record
What a Solver found.
  • Constructor Details

    • DesignSolution

      public DesignSolution(DesignOption recommended, List<DesignOption> frontier, long evaluated, long feasible, boolean exact, List<String> notes)
      Makes the lists immutable and non-null.
  • Method Details

    • isFeasible

      public boolean isFeasible()
      Returns:
      true when at least one portfolio satisfied every constraint
    • 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.
    • recommended

      public DesignOption recommended()
      Returns the value of the recommended record component.
      Returns:
      the value of the recommended record component
    • frontier

      public List<DesignOption> frontier()
      Returns the value of the frontier record component.
      Returns:
      the value of the frontier record component
    • evaluated

      public long evaluated()
      Returns the value of the evaluated record component.
      Returns:
      the value of the evaluated record component
    • feasible

      public long feasible()
      Returns the value of the feasible record component.
      Returns:
      the value of the feasible record component
    • exact

      public boolean exact()
      Returns the value of the exact record component.
      Returns:
      the value of the exact record component
    • notes

      public List<String> notes()
      Returns the value of the notes record component.
      Returns:
      the value of the notes record component