Class CmsTrade

    • Method Detail

      • resolve

        public ResolvedCmsTrade resolve​(ReferenceData refData)
        Description copied from interface: ResolvableTrade
        Resolves this trade using the specified reference data.

        This converts this trade to the equivalent resolved form. All ReferenceDataId identifiers in this instance will be resolved. The resulting ResolvedTrade is optimized for pricing.

        Resolved objects may be bound to data that changes over time, such as holiday calendars. If the data changes, such as the addition of a new holiday, the resolved form will not be updated. Care must be taken when placing the resolved form in a cache or persistence layer.

        Specified by:
        resolve in interface Resolvable<ResolvedCmsTrade>
        Specified by:
        resolve in interface ResolvableTrade<ResolvedCmsTrade>
        Parameters:
        refData - the reference data to use when resolving
        Returns:
        the resolved trade
      • meta

        public static CmsTrade.Meta meta()
        The meta-bean for CmsTrade.
        Returns:
        the meta-bean, not null
      • builder

        public static CmsTrade.Builder builder()
        Returns a builder used to create an instance of the bean.
        Returns:
        the builder, not null
      • metaBean

        public CmsTrade.Meta metaBean()
        Specified by:
        metaBean in interface org.joda.beans.Bean
      • getInfo

        public TradeInfo getInfo()
        Gets the additional trade information, defaulted to an empty instance.

        This allows additional information to be attached to the trade.

        Specified by:
        getInfo in interface PortfolioItem
        Specified by:
        getInfo in interface Trade
        Returns:
        the value of the property, not null
      • getProduct

        public Cms getProduct()
        Gets the CMS product that was agreed when the trade occurred.

        The product captures the contracted financial details of the trade.

        Specified by:
        getProduct in interface ProductTrade
        Returns:
        the value of the property, not null
      • getPremium

        public Optional<AdjustablePayment> getPremium()
        Gets the optional premium of the product.

        For certain CMS products, a premium is paid upfront. This typically occurs instead of periodic payments based on fixed or Ibor rates over the lifetime of the product.

        The premium sign must be compatible with the product Pay/Receive flag.

        Returns:
        the optional value of the property, not null
      • toBuilder

        public CmsTrade.Builder toBuilder()
        Returns a builder that allows this bean to be mutated.
        Returns:
        the mutable builder, not null
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object