Class PaymentDates.PaymentDatesImpl

java.lang.Object
cdm.product.common.schedule.PaymentDates.PaymentDatesImpl
All Implemented Interfaces:
PaymentDates, com.rosetta.model.lib.GlobalKey, com.rosetta.model.lib.RosettaModelObject
Enclosing interface:
PaymentDates

public static class PaymentDates.PaymentDatesImpl extends Object implements PaymentDates
Immutable Implementation of PaymentDates
  • Constructor Details

  • Method Details

    • getPaymentFrequency

      @RosettaAttribute("paymentFrequency") @RuneAttribute("paymentFrequency") public Frequency getPaymentFrequency()
      Description copied from interface: PaymentDates
      The frequency at which regular payment dates occur. If the payment frequency is equal to the frequency defined in the calculation period dates component then one calculation period contributes to each payment amount. If the payment frequency is less frequent than the frequency defined in the calculation period dates component then more than one calculation period will contribute to the payment amount. A payment frequency more frequent than the calculation period frequency or one that is not a multiple of the calculation period frequency is invalid. If the payment frequency is of value T (term), the period is defined by the effectiveDate and the terminationDate.
      Specified by:
      getPaymentFrequency in interface PaymentDates
    • getFirstPaymentDate

      @RosettaAttribute("firstPaymentDate") @RuneAttribute("firstPaymentDate") public com.rosetta.model.lib.records.Date getFirstPaymentDate()
      Description copied from interface: PaymentDates
      The first unadjusted payment date. This day may be subject to adjustment in accordance with any business day convention specified in paymentDatesAdjustments. This element must only be included if there is an initial stub. This date will normally correspond to an unadjusted calculation period start or end date. This is true even if early or delayed payment is specified to be applicable since the actual first payment date will be the specified number of days before or after the applicable adjusted calculation period start or end date with the resulting payment date then being adjusted in accordance with any business day convention specified in paymentDatesAdjustments.
      Specified by:
      getFirstPaymentDate in interface PaymentDates
    • getLastRegularPaymentDate

      @RosettaAttribute("lastRegularPaymentDate") @RuneAttribute("lastRegularPaymentDate") public com.rosetta.model.lib.records.Date getLastRegularPaymentDate()
      Description copied from interface: PaymentDates
      The last regular payment date when specified as a date, as in the FpML interest rate construct. FpML specifies that this date may be subject to adjustment in accordance with any business day convention specified in the paymentDatesAdjustments attribute.
      Specified by:
      getLastRegularPaymentDate in interface PaymentDates
    • getPaymentDateSchedule

      @RosettaAttribute("paymentDateSchedule") @RuneAttribute("paymentDateSchedule") public PaymentDateSchedule getPaymentDateSchedule()
      Description copied from interface: PaymentDates
      The payment dates when specified as relative to a set of dates specified somewhere else in the instance document/transaction, e.g. the valuation dates as typically the case for equity swaps, or when specified as a calculation period schedule.
      Specified by:
      getPaymentDateSchedule in interface PaymentDates
    • getPayRelativeTo

      @RosettaAttribute("payRelativeTo") @RuneAttribute("payRelativeTo") public PayRelativeToEnum getPayRelativeTo()
      Description copied from interface: PaymentDates
      Specifies whether the payments occur relative to each adjusted calculation period start date or end date, each reset date, valuation date or the last pricing date. Calculation period start date means relative to the start of the first calculation period contributing to a given payment. Similarly, calculation period end date means the end of the last calculation period contributing to a given payment. The valuation date is applicable for Brazilian-CDI and equity swaps.
      Specified by:
      getPayRelativeTo in interface PaymentDates
    • getPaymentDaysOffset

      @RosettaAttribute("paymentDaysOffset") @RuneAttribute("paymentDaysOffset") public Offset getPaymentDaysOffset()
      Description copied from interface: PaymentDates
      If early payment or delayed payment is required, specifies the number of days offset that the payment occurs relative to what would otherwise be the unadjusted payment date. The offset can be specified in terms of either calendar or business days. Even in the case of a calendar days offset, the resulting payment date, adjusted for the specified calendar days offset, will still be adjusted in accordance with the specified payment dates adjustments. This element should only be included if early or delayed payment is applicable, i.e. if the periodMultiplier element value is not equal to zero. An early payment would be indicated by a negative periodMultiplier element value and a delayed payment (or payment lag) would be indicated by a positive periodMultiplier element value.
      Specified by:
      getPaymentDaysOffset in interface PaymentDates
    • getPaymentDatesAdjustments

      @RosettaAttribute("paymentDatesAdjustments") @RuneAttribute("paymentDatesAdjustments") public BusinessDayAdjustments getPaymentDatesAdjustments()
      Description copied from interface: PaymentDates
      The definition of the business day convention and financial business centers used for adjusting the payment date if it would otherwise fall on a day that is not a business day in the specified business center.
      Specified by:
      getPaymentDatesAdjustments in interface PaymentDates
    • getMeta

      @RosettaAttribute("meta") @RuneAttribute("meta") @RuneMetaType public com.rosetta.model.metafields.MetaFields getMeta()
      Specified by:
      getMeta in interface com.rosetta.model.lib.GlobalKey
      Specified by:
      getMeta in interface PaymentDates
    • build

      public PaymentDates build()
      Description copied from interface: PaymentDates
      Build Methods
      Specified by:
      build in interface PaymentDates
      Specified by:
      build in interface com.rosetta.model.lib.RosettaModelObject
    • toBuilder

      Specified by:
      toBuilder in interface PaymentDates
      Specified by:
      toBuilder in interface com.rosetta.model.lib.RosettaModelObject
    • setBuilderFields

      protected void setBuilderFields(PaymentDates.PaymentDatesBuilder builder)
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object