/** * Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.analytics.financial.interestrate; import com.opengamma.analytics.financial.instrument.InstrumentDefinitionVisitorAdapter; import com.opengamma.analytics.financial.instrument.payment.CouponCMSDefinition; import com.opengamma.analytics.financial.instrument.payment.CouponFixedAccruedCompoundingDefinition; import com.opengamma.analytics.financial.instrument.payment.CouponFixedCompoundingDefinition; import com.opengamma.analytics.financial.instrument.payment.CouponFixedDefinition; import com.opengamma.analytics.financial.instrument.payment.CouponIborAverageFixingDatesCompoundingDefinition; import com.opengamma.analytics.financial.instrument.payment.CouponIborAverageFixingDatesDefinition; import com.opengamma.analytics.financial.instrument.payment.CouponIborAverageFixingDatesCompoundingFlatSpreadDefinition; import com.opengamma.analytics.financial.instrument.payment.CouponIborAverageIndexDefinition; import com.opengamma.analytics.financial.instrument.payment.CouponIborCompoundingDefinition; import com.opengamma.analytics.financial.instrument.payment.CouponIborCompoundingFlatSpreadDefinition; import com.opengamma.analytics.financial.instrument.payment.CouponIborCompoundingSpreadDefinition; import com.opengamma.analytics.financial.instrument.payment.CouponIborDefinition; import com.opengamma.analytics.financial.instrument.payment.CouponIborGearingDefinition; import com.opengamma.analytics.financial.instrument.payment.CouponIborRatchetDefinition; import com.opengamma.analytics.financial.instrument.payment.CouponIborSpreadDefinition; import com.opengamma.analytics.financial.instrument.payment.CouponONArithmeticAverageDefinition; import com.opengamma.analytics.financial.instrument.payment.CouponONArithmeticAverageSpreadDefinition; import com.opengamma.analytics.financial.instrument.payment.CouponONCompoundedDefinition; import com.opengamma.analytics.financial.instrument.payment.CouponONDefinition; import com.opengamma.analytics.financial.instrument.payment.CouponONSpreadDefinition; import com.opengamma.analytics.financial.instrument.payment.PaymentFixedDefinition; import com.opengamma.util.money.CurrencyAmount; /** * */ public class CouponNotionalVisitor extends InstrumentDefinitionVisitorAdapter<Void, CurrencyAmount> { @Override public CurrencyAmount visitCouponFixedDefinition(final CouponFixedDefinition payment) { return CurrencyAmount.of(payment.getCurrency(), payment.getNotional()); } @Override public CurrencyAmount visitCouponFixedAccruedCompoundingDefinition(final CouponFixedAccruedCompoundingDefinition payment) { return CurrencyAmount.of(payment.getCurrency(), payment.getNotional()); } @Override public CurrencyAmount visitCouponIborDefinition(final CouponIborDefinition payment) { return CurrencyAmount.of(payment.getCurrency(), payment.getNotional()); } @Override public CurrencyAmount visitCouponIborAverageDefinition(final CouponIborAverageIndexDefinition payment) { return CurrencyAmount.of(payment.getCurrency(), payment.getNotional()); } @Override public CurrencyAmount visitCouponIborSpreadDefinition(final CouponIborSpreadDefinition payment) { return CurrencyAmount.of(payment.getCurrency(), payment.getNotional()); } @Override public CurrencyAmount visitCouponIborGearingDefinition(final CouponIborGearingDefinition payment) { return CurrencyAmount.of(payment.getCurrency(), payment.getNotional()); } @Override public CurrencyAmount visitCouponIborCompoundingDefinition(final CouponIborCompoundingDefinition payment) { return CurrencyAmount.of(payment.getCurrency(), payment.getNotional()); } @Override public CurrencyAmount visitCouponIborCompoundingSpreadDefinition(final CouponIborCompoundingSpreadDefinition payment) { return CurrencyAmount.of(payment.getCurrency(), payment.getNotional()); } @Override public CurrencyAmount visitCouponIborCompoundingFlatSpreadDefinition(final CouponIborCompoundingFlatSpreadDefinition payment) { return CurrencyAmount.of(payment.getCurrency(), payment.getNotional()); } @Override public CurrencyAmount visitCouponIborRatchetDefinition(final CouponIborRatchetDefinition payment) { return CurrencyAmount.of(payment.getCurrency(), payment.getNotional()); } @Override public CurrencyAmount visitCouponOISDefinition(final CouponONDefinition payment) { return CurrencyAmount.of(payment.getCurrency(), payment.getNotional()); } @Override public CurrencyAmount visitCouponONCompoundedDefinition(final CouponONCompoundedDefinition payment) { return CurrencyAmount.of(payment.getCurrency(), payment.getNotional()); } @Override public CurrencyAmount visitCouponONSpreadDefinition(final CouponONSpreadDefinition payment) { return CurrencyAmount.of(payment.getCurrency(), payment.getNotional()); } @Override public CurrencyAmount visitCouponCMSDefinition(final CouponCMSDefinition payment) { return CurrencyAmount.of(payment.getCurrency(), payment.getNotional()); } @Override public CurrencyAmount visitCouponFixedCompoundingDefinition(final CouponFixedCompoundingDefinition payment) { return CurrencyAmount.of(payment.getCurrency(), payment.getNotional()); } @Override public CurrencyAmount visitCouponArithmeticAverageONSpreadDefinition(final CouponONArithmeticAverageSpreadDefinition payment) { return CurrencyAmount.of(payment.getCurrency(), payment.getNotional()); } @Override public CurrencyAmount visitPaymentFixedDefinition(final PaymentFixedDefinition payment) { return CurrencyAmount.of(payment.getCurrency(), payment.getReferenceAmount()); } @Override public CurrencyAmount visitCouponArithmeticAverageONDefinition(final CouponONArithmeticAverageDefinition payment) { return CurrencyAmount.of(payment.getCurrency(), payment.getReferenceAmount()); } @Override public CurrencyAmount visitCouponIborAverageFixingDatesDefinition(CouponIborAverageFixingDatesDefinition payment, Void data) { return CurrencyAmount.of(payment.getCurrency(), payment.getNotional()); } @Override public CurrencyAmount visitCouponIborAverageFixingDatesDefinition(CouponIborAverageFixingDatesDefinition payment) { return CurrencyAmount.of(payment.getCurrency(), payment.getNotional()); } @Override public CurrencyAmount visitCouponIborAverageCompoundingDefinition(CouponIborAverageFixingDatesCompoundingDefinition payment, Void data) { return CurrencyAmount.of(payment.getCurrency(), payment.getNotional()); } @Override public CurrencyAmount visitCouponIborAverageCompoundingDefinition(CouponIborAverageFixingDatesCompoundingDefinition payment) { return CurrencyAmount.of(payment.getCurrency(), payment.getNotional()); } @Override public CurrencyAmount visitCouponIborAverageFlatCompoundingSpreadDefinition(CouponIborAverageFixingDatesCompoundingFlatSpreadDefinition payment, Void data) { return CurrencyAmount.of(payment.getCurrency(), payment.getNotional()); } @Override public CurrencyAmount visitCouponIborAverageFlatCompoundingSpreadDefinition(CouponIborAverageFixingDatesCompoundingFlatSpreadDefinition payment) { return CurrencyAmount.of(payment.getCurrency(), payment.getNotional()); } }