Record Class GrowthPlan.TermOption

java.lang.Object
java.lang.Record
com.eqixiac.equinix.design.cost.GrowthPlan.TermOption
Record Components:
term - the term
priced - whether every month could be priced at this term
unpricedReason - why not, or null
monthlyAtStart - month 1's monthly price
oneTime - the one-time charge
totalOverHorizon - every month's price + the commitment tail + the one-time charge
tailMonths - months committed beyond the horizon
tail - the cost of those months (at the last month's price)
breakEvenMonth - for a commitment: how many months of on-demand spend equal the commitment's first-term obligation (keep the item at least this long for the commitment to pay); null for on demand or when on-demand spend never reaches it within the term
Enclosing class:
GrowthPlan

public static record GrowthPlan.TermOption(Term term, boolean priced, String unpricedReason, BigDecimal monthlyAtStart, BigDecimal oneTime, BigDecimal totalOverHorizon, int tailMonths, BigDecimal tail, Integer breakEvenMonth) extends Record
One commitment term for one item.
  • Constructor Details

    • TermOption

      public TermOption(Term term, boolean priced, String unpricedReason, BigDecimal monthlyAtStart, BigDecimal oneTime, BigDecimal totalOverHorizon, int tailMonths, BigDecimal tail, Integer breakEvenMonth)
      Creates an instance of a TermOption record class.
      Parameters:
      term - the value for the term record component
      priced - the value for the priced record component
      unpricedReason - the value for the unpricedReason record component
      monthlyAtStart - the value for the monthlyAtStart record component
      oneTime - the value for the oneTime record component
      totalOverHorizon - the value for the totalOverHorizon record component
      tailMonths - the value for the tailMonths record component
      tail - the value for the tail record component
      breakEvenMonth - the value for the breakEvenMonth record component
  • Method Details

    • unpriced

      public static GrowthPlan.TermOption unpriced(Term term, String reason)
      Parameters:
      term - the term
      reason - why it cannot be priced
      Returns:
      an unpriced option
    • 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.
    • term

      public Term term()
      Returns the value of the term record component.
      Returns:
      the value of the term record component
    • priced

      public boolean priced()
      Returns the value of the priced record component.
      Returns:
      the value of the priced record component
    • unpricedReason

      public String unpricedReason()
      Returns the value of the unpricedReason record component.
      Returns:
      the value of the unpricedReason record component
    • monthlyAtStart

      public BigDecimal monthlyAtStart()
      Returns the value of the monthlyAtStart record component.
      Returns:
      the value of the monthlyAtStart record component
    • oneTime

      public BigDecimal oneTime()
      Returns the value of the oneTime record component.
      Returns:
      the value of the oneTime record component
    • totalOverHorizon

      public BigDecimal totalOverHorizon()
      Returns the value of the totalOverHorizon record component.
      Returns:
      the value of the totalOverHorizon record component
    • tailMonths

      public int tailMonths()
      Returns the value of the tailMonths record component.
      Returns:
      the value of the tailMonths record component
    • tail

      public BigDecimal tail()
      Returns the value of the tail record component.
      Returns:
      the value of the tail record component
    • breakEvenMonth

      public Integer breakEvenMonth()
      Returns the value of the breakEvenMonth record component.
      Returns:
      the value of the breakEvenMonth record component