Class CalculationPeriodDates.CalculationPeriodDatesImpl

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

public static class CalculationPeriodDates.CalculationPeriodDatesImpl extends Object implements CalculationPeriodDates
Immutable Implementation of CalculationPeriodDates
  • Constructor Details

  • Method Details

    • getEffectiveDate

      @RosettaAttribute("effectiveDate") @RuneAttribute("effectiveDate") public AdjustableOrRelativeDate getEffectiveDate()
      Description copied from interface: CalculationPeriodDates
      The first day of the terms of the trade. This day may be subject to adjustment in accordance with a business day convention.
      Specified by:
      getEffectiveDate in interface CalculationPeriodDates
    • getTerminationDate

      @RosettaAttribute("terminationDate") @RuneAttribute("terminationDate") public AdjustableOrRelativeDate getTerminationDate()
      Description copied from interface: CalculationPeriodDates
      The last day of the terms of the trade. This date may be subject to adjustments in accordance with the business day convention. It can also be specified in relation to another scheduled date (e.g. the last payment date).
      Specified by:
      getTerminationDate in interface CalculationPeriodDates
    • getCalculationPeriodDatesAdjustments

      @RosettaAttribute("calculationPeriodDatesAdjustments") @RuneAttribute("calculationPeriodDatesAdjustments") public BusinessDayAdjustments getCalculationPeriodDatesAdjustments()
      Description copied from interface: CalculationPeriodDates
      The specification of the business day convention and financial business centers used for adjusting any calculation period date if it would otherwise fall on a day that is not a business day in the specified business center.
      Specified by:
      getCalculationPeriodDatesAdjustments in interface CalculationPeriodDates
    • getFirstPeriodStartDate

      @RosettaAttribute("firstPeriodStartDate") @RuneAttribute("firstPeriodStartDate") public AdjustableOrRelativeDate getFirstPeriodStartDate()
      Description copied from interface: CalculationPeriodDates
      The start date of the calculation period. FpML specifies that for interest rate swaps this date must only be specified if it is not equal to the effective date. It is always specified in the case of equity swaps and credit default swaps with periodic payments. This date may be subject to adjustment in accordance with a business day convention.
      Specified by:
      getFirstPeriodStartDate in interface CalculationPeriodDates
    • getFirstRegularPeriodStartDate

      @RosettaAttribute("firstRegularPeriodStartDate") @RuneAttribute("firstRegularPeriodStartDate") public com.rosetta.model.lib.records.Date getFirstRegularPeriodStartDate()
      Description copied from interface: CalculationPeriodDates
      The start date of the regular part of the calculation period schedule. It must only be specified if there is an initial stub calculation period. This day may be subject to adjustment in accordance with any adjustments specified in calculationPeriodDatesAdjustments.
      Specified by:
      getFirstRegularPeriodStartDate in interface CalculationPeriodDates
    • getFirstCompoundingPeriodEndDate

      @RosettaAttribute("firstCompoundingPeriodEndDate") @RuneAttribute("firstCompoundingPeriodEndDate") public com.rosetta.model.lib.records.Date getFirstCompoundingPeriodEndDate()
      Description copied from interface: CalculationPeriodDates
      The end date of the initial compounding period when compounding is applicable. It must only be specified when the compoundingMethod element is present and not equal to a value of None. This date may be subject to adjustment in accordance with any adjustments specified in calculationPeriodDatesAdjustments.
      Specified by:
      getFirstCompoundingPeriodEndDate in interface CalculationPeriodDates
    • getLastRegularPeriodEndDate

      @RosettaAttribute("lastRegularPeriodEndDate") @RuneAttribute("lastRegularPeriodEndDate") public com.rosetta.model.lib.records.Date getLastRegularPeriodEndDate()
      Description copied from interface: CalculationPeriodDates
      The end date of the regular part of the calculation period schedule. It must only be specified if there is a final stub calculation period. This day may be subject to adjustment in accordance with any adjustments specified in calculationPeriodDatesAdjustments.
      Specified by:
      getLastRegularPeriodEndDate in interface CalculationPeriodDates
    • getStubPeriodType

      @RosettaAttribute("stubPeriodType") @RuneAttribute("stubPeriodType") public StubPeriodTypeEnum getStubPeriodType()
      Description copied from interface: CalculationPeriodDates
      Method to allocate any irregular period remaining after regular periods have been allocated between the effective and termination date.
      Specified by:
      getStubPeriodType in interface CalculationPeriodDates
    • getCalculationPeriodFrequency

      @RosettaAttribute("calculationPeriodFrequency") @RuneAttribute("calculationPeriodFrequency") public CalculationPeriodFrequency getCalculationPeriodFrequency()
      Description copied from interface: CalculationPeriodDates
      The frequency at which calculation period end dates occur with the regular part of the calculation period schedule and their roll date convention.
      Specified by:
      getCalculationPeriodFrequency in interface CalculationPeriodDates
    • getMeta

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

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

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

      protected void setBuilderFields(CalculationPeriodDates.CalculationPeriodDatesBuilder 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