Class PayoutBase.PayoutBaseImpl

java.lang.Object
cdm.product.common.settlement.PayoutBase.PayoutBaseImpl
All Implemented Interfaces:
PayoutBase, com.rosetta.model.lib.RosettaModelObject
Direct Known Subclasses:
AssetPayout.AssetPayoutImpl, Cashflow.CashflowImpl, CommodityPayout.CommodityPayoutImpl, CreditDefaultPayout.CreditDefaultPayoutImpl, FixedPricePayout.FixedPricePayoutImpl, ForwardPayout.ForwardPayoutImpl, InterestRatePayout.InterestRatePayoutImpl, OptionPayout.OptionPayoutImpl, PerformancePayout.PerformancePayoutImpl
Enclosing interface:
PayoutBase

public static class PayoutBase.PayoutBaseImpl extends Object implements PayoutBase
Immutable Implementation of PayoutBase
  • Constructor Details

  • Method Details

    • getPayerReceiver

      @RosettaAttribute(value="payerReceiver", isRequired=true) @RuneAttribute(value="payerReceiver", isRequired=true) public PayerReceiver getPayerReceiver()
      Description copied from interface: PayoutBase
      Canonical representation of the payer and receiver parties applicable to each payout leg.
      Specified by:
      getPayerReceiver in interface PayoutBase
    • getPriceQuantity

      @RosettaAttribute("priceQuantity") @RuneAttribute("priceQuantity") public ResolvablePriceQuantity getPriceQuantity()
      Description copied from interface: PayoutBase
      Each payout leg must implement the quantity concept as a 'resolvable' type, which allows for different payout legs to be linked to each other (e.g. in the case of cross-curreny products).
      Specified by:
      getPriceQuantity in interface PayoutBase
    • getPrincipalPayment

      @RosettaAttribute("principalPayment") @RuneAttribute("principalPayment") public PrincipalPayments getPrincipalPayment()
      Description copied from interface: PayoutBase
      The specification of the principal exchange. Optional as only applicable in the case of cross-currency or zero-coupon swaps with a final payment.
      Specified by:
      getPrincipalPayment in interface PayoutBase
    • getSettlementTerms

      @RosettaAttribute("settlementTerms") @RuneAttribute("settlementTerms") public SettlementTerms getSettlementTerms()
      Description copied from interface: PayoutBase
      Each payout leg must specifies its settlement terms, including the delivery type (i.e. cash vs physical, and their respective terms), the transfer type (DvP etc.) and settlement date, if any.
      Specified by:
      getSettlementTerms in interface PayoutBase
    • build

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

      public PayoutBase.PayoutBaseBuilder toBuilder()
      Specified by:
      toBuilder in interface PayoutBase
      Specified by:
      toBuilder in interface com.rosetta.model.lib.RosettaModelObject
    • setBuilderFields

      protected void setBuilderFields(PayoutBase.PayoutBaseBuilder 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