Class AssetPayout.AssetPayoutImpl

java.lang.Object
cdm.product.common.settlement.PayoutBase.PayoutBaseImpl
cdm.product.template.AssetPayout.AssetPayoutImpl
All Implemented Interfaces:
PayoutBase, AssetPayout, com.rosetta.model.lib.GlobalKey, com.rosetta.model.lib.RosettaModelObject
Enclosing interface:
AssetPayout

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

  • Method Details

    • getAssetLeg

      @RosettaAttribute(value="assetLeg", isRequired=true) @RuneAttribute(value="assetLeg", isRequired=true) public List<? extends AssetLeg> getAssetLeg()
      Description copied from interface: AssetPayout
      Defines each asset movement as a buy/sell at different dates, typically 1 near leg and 1 far leg in a securities financing transaction.
      Specified by:
      getAssetLeg in interface AssetPayout
    • getSecurityInformation

      @RosettaAttribute(value="securityInformation", isRequired=true) @RuneAttribute(value="securityInformation", isRequired=true) public Product getSecurityInformation()
      Description copied from interface: AssetPayout
      Specifies the Purchased Security. Within SecurityPayout we include a condition which validates that the product must be a Security (see below condition 'ProductMustBeSecurity').
      Specified by:
      getSecurityInformation in interface AssetPayout
    • getDurationType

      @RosettaAttribute(value="durationType", isRequired=true) @RuneAttribute(value="durationType", isRequired=true) public Duration getDurationType()
      Description copied from interface: AssetPayout
      Specifies the Duration Terms of the Security Finance transaction. e.g. Open or Term.
      Specified by:
      getDurationType in interface AssetPayout
    • getMinimumFee

      @RosettaAttribute("minimumFee") @RuneAttribute("minimumFee") public Money getMinimumFee()
      Description copied from interface: AssetPayout
      A contractual minimum amount which the borrower will pay, regardless of the duration of the loan. A mechanism for making sure that a trade generates enough income.
      Specified by:
      getMinimumFee in interface AssetPayout
    • getDividendTerms

      @RosettaAttribute("dividendTerms") @RuneAttribute("dividendTerms") public DividendTerms getDividendTerms()
      Description copied from interface: AssetPayout
      Specifies the terms under which dividends received by the borrower are passed through to the lender.
      Specified by:
      getDividendTerms in interface AssetPayout
    • getMeta

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

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

      public AssetPayout.AssetPayoutBuilder toBuilder()
      Specified by:
      toBuilder in interface AssetPayout
      Specified by:
      toBuilder in interface PayoutBase
      Specified by:
      toBuilder in interface com.rosetta.model.lib.RosettaModelObject
      Overrides:
      toBuilder in class PayoutBase.PayoutBaseImpl
    • setBuilderFields

      protected void setBuilderFields(AssetPayout.AssetPayoutBuilder builder)
    • equals

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

      public int hashCode()
      Overrides:
      hashCode in class PayoutBase.PayoutBaseImpl
    • toString

      public String toString()
      Overrides:
      toString in class PayoutBase.PayoutBaseImpl