Package org.isda.cdm

Class ResolvablePayoutQuantity

  • All Implemented Interfaces:
    com.rosetta.model.lib.GlobalKey

    @RosettaClass
    public class ResolvablePayoutQuantity
    extends com.rosetta.model.lib.RosettaModelObject
    implements com.rosetta.model.lib.GlobalKey
    Generic class to specify the quantity for different payout legs in a contractual product, when that quantity can vary across payout legs or across time. A resolvable quantity can always be resolved into one number based on: (i) the quantity notation that must be specified alongside the contractual product description and (ii) a given date, where applicable. In addition to the base case where quantity is directly specified as a number as part of the quantity notation, the use cases are: (i) quantity based on some pre-defined schedule (eg amortising notional), (ii) quantity based on some pre-defined events (eg resetting cross-currency notional), or quantity set as reference to another quantity (eg equity notional as no. securities x price).
    Version:
    2.5.4
    • Method Detail

      • getMeta

        public final MetaFields getMeta()
        Specified by:
        getMeta in interface com.rosetta.model.lib.GlobalKey
      • getQuantityMultiplier

        public final QuantityMultiplier getQuantityMultiplier()
        Quantity multiplier is specified on top of a reference quantity and is used as a multiplying factor when resolving the quantity. A quantity multiplier can only exist when the resolvable quantity specifies a reference quantity.
      • getQuantityNotationTag

        @RosettaSynonym(value="",
                        source="FpML_5_10")
        public final QuantityNotationEnum getQuantityNotationTag()
        Notation tag to be used as a key to fetch the payout quantity from the appropriate quantity notation, that is provided alongside the contractual product. For instance: if this quantity notation tag is 'Notional', the actual quantity will have to be fetched from the quantity notation labelled as 'Notional'.
      • getQuantityReference

        @RosettaSynonym(value="relativeNotionalAmount",
                        source="FpML_5_10")
        public final ReferenceWithMetaResolvablePayoutQuantity getQuantityReference()
        Reference quantity when resolvable quantity is defined as relative to another (resolvable) quantity. A resolvable quantity needs to contain either an absolute quantity or a reference to another (resolvable) quantity. This requirement is captured by a choice rule on the class.
      • getQuantitySchedule

        public final NonNegativeQuantitySchedule getQuantitySchedule()
        Quantity specified as an absolute number, (possibly) with some step schedule, (possibly) with some unit, such as the currency in the case of a notional. There needs to be at least 1 such absolutely defined quantity across payout legs of a product, to define an anchor that other payout quantities can refer to. This is enforced by a data rule on the Payout class
      • getReset

        @RosettaSynonym(value="notionalReset",
                        source="FpML_5_10")
        public final java.lang.Boolean getReset()
        Whether the quantity is resettable
      • metaData

        public com.rosetta.model.lib.meta.RosettaMetaData<? extends ResolvablePayoutQuantity> metaData()
        Specified by:
        metaData in class com.rosetta.model.lib.RosettaModelObject
      • process

        public void process​(com.rosetta.model.lib.path.RosettaPath path,
                            com.rosetta.model.lib.process.Processor processor)
        Specified by:
        process in class com.rosetta.model.lib.RosettaModelObject
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object