Interface PayoutBase

All Superinterfaces:
com.rosetta.model.lib.RosettaModelObject
All Known Subinterfaces:
AssetPayout, AssetPayout.AssetPayoutBuilder, Cashflow, Cashflow.CashflowBuilder, CommodityPayout, CommodityPayout.CommodityPayoutBuilder, CreditDefaultPayout, CreditDefaultPayout.CreditDefaultPayoutBuilder, FixedPricePayout, FixedPricePayout.FixedPricePayoutBuilder, ForwardPayout, ForwardPayout.ForwardPayoutBuilder, InterestRatePayout, InterestRatePayout.InterestRatePayoutBuilder, OptionPayout, OptionPayout.OptionPayoutBuilder, PayoutBase.PayoutBaseBuilder, PerformancePayout, PerformancePayout.PerformancePayoutBuilder
All Known Implementing Classes:
AssetPayout.AssetPayoutBuilderImpl, AssetPayout.AssetPayoutImpl, Cashflow.CashflowBuilderImpl, Cashflow.CashflowImpl, CommodityPayout.CommodityPayoutBuilderImpl, CommodityPayout.CommodityPayoutImpl, CreditDefaultPayout.CreditDefaultPayoutBuilderImpl, CreditDefaultPayout.CreditDefaultPayoutImpl, FixedPricePayout.FixedPricePayoutBuilderImpl, FixedPricePayout.FixedPricePayoutImpl, ForwardPayout.ForwardPayoutBuilderImpl, ForwardPayout.ForwardPayoutImpl, InterestRatePayout.InterestRatePayoutBuilderImpl, InterestRatePayout.InterestRatePayoutImpl, OptionPayout.OptionPayoutBuilderImpl, OptionPayout.OptionPayoutImpl, PayoutBase.PayoutBaseBuilderImpl, PayoutBase.PayoutBaseImpl, PerformancePayout.PerformancePayoutBuilderImpl, PerformancePayout.PerformancePayoutImpl

@RosettaDataType(value="PayoutBase", builder=PayoutBaseBuilderImpl.class, version="5.30.0") @RuneDataType(value="PayoutBase", model="cdm", builder=PayoutBaseBuilderImpl.class, version="5.30.0") public interface PayoutBase extends com.rosetta.model.lib.RosettaModelObject
Base class that all payout types should extend. Use case is that some validation rules may need to apply across all payout types, for which the data rule can be written at the base class level
Version:
5.30.0
  • Field Details

  • Method Details

    • getPayerReceiver

      PayerReceiver getPayerReceiver()
      Canonical representation of the payer and receiver parties applicable to each payout leg.
    • getPriceQuantity

      ResolvablePriceQuantity getPriceQuantity()
      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).
    • getPrincipalPayment

      PrincipalPayments getPrincipalPayment()
      The specification of the principal exchange. Optional as only applicable in the case of cross-currency or zero-coupon swaps with a final payment.
    • getSettlementTerms

      SettlementTerms getSettlementTerms()
      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.
    • build

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

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

      static PayoutBase.PayoutBaseBuilder builder()
    • metaData

      default com.rosetta.model.lib.meta.RosettaMetaData<? extends PayoutBase> metaData()
      Utility Methods
      Specified by:
      metaData in interface com.rosetta.model.lib.RosettaModelObject
    • getType

      @RuneAttribute("@type") default Class<? extends PayoutBase> getType()
      Specified by:
      getType in interface com.rosetta.model.lib.RosettaModelObject
    • process

      default void process(com.rosetta.model.lib.path.RosettaPath path, com.rosetta.model.lib.process.Processor processor)
      Specified by:
      process in interface com.rosetta.model.lib.RosettaModelObject