Class ResolvablePriceQuantity.ResolvablePriceQuantityImpl

java.lang.Object
cdm.product.common.settlement.ResolvablePriceQuantity.ResolvablePriceQuantityImpl
All Implemented Interfaces:
ResolvablePriceQuantity, com.rosetta.model.lib.GlobalKey, com.rosetta.model.lib.RosettaModelObject
Enclosing interface:
ResolvablePriceQuantity

public static class ResolvablePriceQuantity.ResolvablePriceQuantityImpl extends Object implements ResolvablePriceQuantity
Immutable Implementation of ResolvablePriceQuantity
  • Constructor Details

  • Method Details

    • getQuantityCumulation

      @RosettaAttribute("quantityCumulation") @RuneAttribute("quantityCumulation") public List<? extends CumulationFeature> getQuantityCumulation()
      Description copied from interface: ResolvablePriceQuantity
      Describe provisions which define how the quantity is incremented over time.
      Specified by:
      getQuantityCumulation in interface ResolvablePriceQuantity
    • getResolvedQuantity

      @RosettaAttribute("resolvedQuantity") @RuneAttribute("resolvedQuantity") public Quantity getResolvedQuantity()
      Description copied from interface: ResolvablePriceQuantity
      A product's quantity as a single, non-negative amount. When specified as part of a product definition, this quantity attribute would not be set. Instead it is specified on the quantity notation along with an asset identifier matching this payout's asset identifier. This allows the quantity to be resolved for a payout leg, which can then be specified here for convenience during data processing. There needs to be at least one resolvable quantity across payout legs of a product to define an anchor that other payout quantities can refer to. This attribute is ignored when mapping existing FpML messages.
      Specified by:
      getResolvedQuantity in interface ResolvablePriceQuantity
    • getQuantitySchedule

      @RosettaAttribute("quantitySchedule") @RuneAttribute("quantitySchedule") @RuneScopedAttributeReference public ReferenceWithMetaNonNegativeQuantitySchedule getQuantitySchedule()
      Description copied from interface: ResolvablePriceQuantity
      A payout's quantity specified as a schedule, which may also contain a single value if that quantity is constant. There can only be a single quantity schedule applicable to a payout: e.g. the notional for an interest rate leg. The quantity must be specified outside of the payout in a PriceQuantity object and only referenced inside the payout using an address.
      Specified by:
      getQuantitySchedule in interface ResolvablePriceQuantity
    • getQuantityReference

      @RosettaAttribute("quantityReference") @RuneAttribute("quantityReference") public ReferenceWithMetaResolvablePriceQuantity getQuantityReference()
      Description copied from interface: ResolvablePriceQuantity
      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.
      Specified by:
      getQuantityReference in interface ResolvablePriceQuantity
    • getQuantityMultiplier

      @RosettaAttribute("quantityMultiplier") @RuneAttribute("quantityMultiplier") public QuantityMultiplier getQuantityMultiplier()
      Description copied from interface: ResolvablePriceQuantity
      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.
      Specified by:
      getQuantityMultiplier in interface ResolvablePriceQuantity
    • getReset

      @RosettaAttribute("reset") @RuneAttribute("reset") public Boolean getReset()
      Description copied from interface: ResolvablePriceQuantity
      Whether the quantity is resettable
      Specified by:
      getReset in interface ResolvablePriceQuantity
    • getFutureValueNotional

      @RosettaAttribute("futureValueNotional") @RuneAttribute("futureValueNotional") public FutureValueAmount getFutureValueNotional()
      Description copied from interface: ResolvablePriceQuantity
      The future value notional is specific to BRL CDI swaps, and is specified alongside the notional amount. The value is calculated as follows: Future Value Notional = Notional Amount * (1 + Fixed Rate) ^ (Fixed Rate Day Count Fraction). The currency should always match that expressed in the notional schedule. The value date should match the adjusted termination date.
      Specified by:
      getFutureValueNotional in interface ResolvablePriceQuantity
    • getPriceSchedule

      @RosettaAttribute("priceSchedule") @RuneAttribute("priceSchedule") @RuneScopedAttributeReference public List<? extends ReferenceWithMetaPriceSchedule> getPriceSchedule()
      Description copied from interface: ResolvablePriceQuantity
      A payout's price specified as a schedule, which may also contain a single value if that price is constant. There may be multiple prices specified for a single payout: e.g. a floating interest rate leg may specify a spread, a cap and/or floor and a multiplier. The price must be specified outside of the payout in a PriceQuantity object and only referenced inside the payout using an address.
      Specified by:
      getPriceSchedule in interface ResolvablePriceQuantity
    • getMeta

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

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

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

      protected void setBuilderFields(ResolvablePriceQuantity.ResolvablePriceQuantityBuilder 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