Class TradableProduct.TradableProductImpl

java.lang.Object
cdm.product.template.TradableProduct.TradableProductImpl
All Implemented Interfaces:
TradableProduct, com.rosetta.model.lib.RosettaModelObject
Enclosing interface:
TradableProduct

public static class TradableProduct.TradableProductImpl extends Object implements TradableProduct
Immutable Implementation of TradableProduct
  • Constructor Details

  • Method Details

    • getProduct

      @RosettaAttribute(value="product", isRequired=true) @RuneAttribute(value="product", isRequired=true) public Product getProduct()
      Description copied from interface: TradableProduct
      The underlying product to be included in a contract or execution.
      Specified by:
      getProduct in interface TradableProduct
    • getTradeLot

      @RosettaAttribute(value="tradeLot", isRequired=true) @RuneAttribute(value="tradeLot", isRequired=true) public List<? extends TradeLot> getTradeLot()
      Description copied from interface: TradableProduct
      Specifies the price, quantity and effective date of each trade lot, when the same product may be traded multiple times in different lots with the same counterparty. In a trade increase, a new trade lot is added to the list, with the corresponding effective date. In a trade decrease, the existing trade lot(s) are decreased of the corresponding quantity (and an unwind fee may have to be settled). The multiple cardinality and the ability to increase existing trades is used for Equity Swaps in particular.
      Specified by:
      getTradeLot in interface TradableProduct
    • getCounterparty

      @RosettaAttribute(value="counterparty", isRequired=true) @RuneAttribute(value="counterparty", isRequired=true) public List<? extends Counterparty> getCounterparty()
      Description copied from interface: TradableProduct
      Specifies the parties which are the two counterparties to the transaction. The product is agnostic to the actual parties to the transaction, with the party references abstracted away from the product definition and replaced by the counterparty enum (e.g. CounterpartyEnum values Party1 or Party2). The counterparty enum can then be positioned in the product (e.g. to specify which counterparty is the payer, receiver etc) and this counterparties attribute, which is positioned outside of the product definition, allows the counterparty enum to be associated with an actual party reference. Body ICMA Corpus MasterAgreement GMRA Global Master Repurchase Agreement GMRA 2011 "The Global Master Repurchase Agreement (GMRA) is a model legal agreement designed for parties transacting repos and is published by the International Capital Market Association (ICMA)." namingConvention "Party" Provision Parties entering into GMRA, as specified on page 1 of the GMRA and under 1. (a).
      Specified by:
      getCounterparty in interface TradableProduct
    • getAncillaryParty

      @RosettaAttribute("ancillaryParty") @RuneAttribute("ancillaryParty") public List<? extends AncillaryParty> getAncillaryParty()
      Description copied from interface: TradableProduct
      Specifies the parties with ancillary roles in the transaction. The product is agnostic to the actual parties involved in the transaction, with the party references abstracted away from the product definition and replaced by the AncillaryRoleEnum. The AncillaryRoleEnum can then be positioned in the product and this AncillaryParty type, which is positioned outside of the product definition, allows the AncillaryRoleEnum to be associated with an actual party reference.
      Specified by:
      getAncillaryParty in interface TradableProduct
    • getAdjustment

      @RosettaAttribute("adjustment") @RuneAttribute("adjustment") public NotionalAdjustmentEnum getAdjustment()
      Description copied from interface: TradableProduct
      Specifies the conditions that govern the adjustment to the quantity of a product being traded: e.g. execution, portfolio rebalancing etc. It is typically used in the context of Equity Swaps.
      Specified by:
      getAdjustment in interface TradableProduct
    • build

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

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

      protected void setBuilderFields(TradableProduct.TradableProductBuilder 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