/** * Copyright (C) 2009 - 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.commodity.derivative.AgricultureForward; import com.opengamma.analytics.financial.commodity.derivative.AgricultureFuture; import com.opengamma.analytics.financial.commodity.derivative.AgricultureFutureOption; import com.opengamma.analytics.financial.commodity.derivative.EnergyForward; import com.opengamma.analytics.financial.commodity.derivative.EnergyFuture; import com.opengamma.analytics.financial.commodity.derivative.EnergyFutureOption; import com.opengamma.analytics.financial.commodity.derivative.MetalForward; import com.opengamma.analytics.financial.commodity.derivative.MetalFuture; import com.opengamma.analytics.financial.commodity.derivative.MetalFutureOption; import com.opengamma.analytics.financial.commodity.multicurvecommodity.derivative.AgricultureFutureSecurity; import com.opengamma.analytics.financial.commodity.multicurvecommodity.derivative.AgricultureFutureTransaction; import com.opengamma.analytics.financial.commodity.multicurvecommodity.derivative.CouponCommodityCashSettle; import com.opengamma.analytics.financial.commodity.multicurvecommodity.derivative.CouponCommodityPhysicalSettle; import com.opengamma.analytics.financial.commodity.multicurvecommodity.derivative.EnergyFutureSecurity; import com.opengamma.analytics.financial.commodity.multicurvecommodity.derivative.EnergyFutureTransaction; import com.opengamma.analytics.financial.commodity.multicurvecommodity.derivative.ForwardCommodityCashSettle; import com.opengamma.analytics.financial.commodity.multicurvecommodity.derivative.ForwardCommodityPhysicalSettle; import com.opengamma.analytics.financial.commodity.multicurvecommodity.derivative.MetalFutureSecurity; import com.opengamma.analytics.financial.commodity.multicurvecommodity.derivative.MetalFutureTransaction; import com.opengamma.analytics.financial.equity.Equity; import com.opengamma.analytics.financial.equity.future.derivative.CashSettledFuture; import com.opengamma.analytics.financial.equity.future.derivative.EquityFuture; import com.opengamma.analytics.financial.equity.future.derivative.EquityIndexDividendFuture; import com.opengamma.analytics.financial.equity.future.derivative.EquityIndexFuture; import com.opengamma.analytics.financial.equity.future.derivative.IndexFuture; import com.opengamma.analytics.financial.equity.future.derivative.VolatilityIndexFuture; import com.opengamma.analytics.financial.equity.option.EquityIndexFutureOption; import com.opengamma.analytics.financial.equity.option.EquityIndexOption; import com.opengamma.analytics.financial.equity.option.EquityOption; import com.opengamma.analytics.financial.equity.trs.definition.EquityTotalReturnSwap; import com.opengamma.analytics.financial.equity.variance.EquityVarianceSwap; import com.opengamma.analytics.financial.forex.derivative.Forex; import com.opengamma.analytics.financial.forex.derivative.ForexNonDeliverableForward; import com.opengamma.analytics.financial.forex.derivative.ForexNonDeliverableOption; import com.opengamma.analytics.financial.forex.derivative.ForexOptionDigital; import com.opengamma.analytics.financial.forex.derivative.ForexOptionSingleBarrier; import com.opengamma.analytics.financial.forex.derivative.ForexOptionVanilla; import com.opengamma.analytics.financial.forex.derivative.ForexSwap; import com.opengamma.analytics.financial.instrument.index.IndexDeposit; import com.opengamma.analytics.financial.interestrate.annuity.derivative.Annuity; import com.opengamma.analytics.financial.interestrate.annuity.derivative.AnnuityCouponFixed; import com.opengamma.analytics.financial.interestrate.annuity.derivative.AnnuityCouponIborRatchet; import com.opengamma.analytics.financial.interestrate.bond.definition.BillSecurity; import com.opengamma.analytics.financial.interestrate.bond.definition.BillTotalReturnSwap; import com.opengamma.analytics.financial.interestrate.bond.definition.BillTransaction; import com.opengamma.analytics.financial.interestrate.bond.definition.BondCapitalIndexedSecurity; import com.opengamma.analytics.financial.interestrate.bond.definition.BondCapitalIndexedTransaction; import com.opengamma.analytics.financial.interestrate.bond.definition.BondFixedSecurity; import com.opengamma.analytics.financial.interestrate.bond.definition.BondFixedTransaction; import com.opengamma.analytics.financial.interestrate.bond.definition.BondIborSecurity; import com.opengamma.analytics.financial.interestrate.bond.definition.BondIborTransaction; import com.opengamma.analytics.financial.interestrate.bond.definition.BondInterestIndexedSecurity; import com.opengamma.analytics.financial.interestrate.bond.definition.BondInterestIndexedTransaction; import com.opengamma.analytics.financial.interestrate.bond.definition.BondTotalReturnSwap; import com.opengamma.analytics.financial.interestrate.cash.derivative.Cash; import com.opengamma.analytics.financial.interestrate.cash.derivative.DepositCounterpart; import com.opengamma.analytics.financial.interestrate.cash.derivative.DepositIbor; import com.opengamma.analytics.financial.interestrate.cash.derivative.DepositZero; import com.opengamma.analytics.financial.interestrate.fra.derivative.ForwardRateAgreement; import com.opengamma.analytics.financial.interestrate.future.derivative.BondFuture; import com.opengamma.analytics.financial.interestrate.future.derivative.BondFuturesOptionPremiumSecurity; import com.opengamma.analytics.financial.interestrate.future.derivative.BondFuturesOptionPremiumTransaction; import com.opengamma.analytics.financial.interestrate.future.derivative.BondFuturesOptionMarginSecurity; import com.opengamma.analytics.financial.interestrate.future.derivative.BondFuturesOptionMarginTransaction; import com.opengamma.analytics.financial.interestrate.future.derivative.BondFuturesSecurity; import com.opengamma.analytics.financial.interestrate.future.derivative.BondFuturesTransaction; import com.opengamma.analytics.financial.interestrate.future.derivative.BondFuturesYieldAverageSecurity; import com.opengamma.analytics.financial.interestrate.future.derivative.BondFuturesYieldAverageTransaction; import com.opengamma.analytics.financial.interestrate.future.derivative.FederalFundsFutureSecurity; import com.opengamma.analytics.financial.interestrate.future.derivative.FederalFundsFutureTransaction; import com.opengamma.analytics.financial.interestrate.future.derivative.InterestRateFutureOptionMarginSecurity; import com.opengamma.analytics.financial.interestrate.future.derivative.InterestRateFutureOptionMarginTransaction; import com.opengamma.analytics.financial.interestrate.future.derivative.InterestRateFutureOptionPremiumSecurity; import com.opengamma.analytics.financial.interestrate.future.derivative.InterestRateFutureOptionPremiumTransaction; import com.opengamma.analytics.financial.interestrate.future.derivative.InterestRateFutureSecurity; import com.opengamma.analytics.financial.interestrate.future.derivative.InterestRateFutureTransaction; import com.opengamma.analytics.financial.interestrate.future.derivative.SwapFuturesPriceDeliverableSecurity; import com.opengamma.analytics.financial.interestrate.future.derivative.SwapFuturesPriceDeliverableTransaction; import com.opengamma.analytics.financial.interestrate.inflation.derivative.CapFloorInflationYearOnYearInterpolation; import com.opengamma.analytics.financial.interestrate.inflation.derivative.CapFloorInflationYearOnYearMonthly; import com.opengamma.analytics.financial.interestrate.inflation.derivative.CapFloorInflationZeroCouponInterpolation; import com.opengamma.analytics.financial.interestrate.inflation.derivative.CapFloorInflationZeroCouponMonthly; import com.opengamma.analytics.financial.interestrate.inflation.derivative.CouponInflationYearOnYearInterpolation; import com.opengamma.analytics.financial.interestrate.inflation.derivative.CouponInflationYearOnYearInterpolationWithMargin; import com.opengamma.analytics.financial.interestrate.inflation.derivative.CouponInflationYearOnYearMonthly; import com.opengamma.analytics.financial.interestrate.inflation.derivative.CouponInflationYearOnYearMonthlyWithMargin; import com.opengamma.analytics.financial.interestrate.inflation.derivative.CouponInflationZeroCouponInterpolation; import com.opengamma.analytics.financial.interestrate.inflation.derivative.CouponInflationZeroCouponInterpolationGearing; import com.opengamma.analytics.financial.interestrate.inflation.derivative.CouponInflationZeroCouponMonthly; import com.opengamma.analytics.financial.interestrate.inflation.derivative.CouponInflationZeroCouponMonthlyGearing; import com.opengamma.analytics.financial.interestrate.payments.ForexForward; import com.opengamma.analytics.financial.interestrate.payments.derivative.CapFloorCMS; import com.opengamma.analytics.financial.interestrate.payments.derivative.CapFloorCMSSpread; import com.opengamma.analytics.financial.interestrate.payments.derivative.CapFloorIbor; import com.opengamma.analytics.financial.interestrate.payments.derivative.CouponCMS; import com.opengamma.analytics.financial.interestrate.payments.derivative.CouponFixed; import com.opengamma.analytics.financial.interestrate.payments.derivative.CouponFixedAccruedCompounding; import com.opengamma.analytics.financial.interestrate.payments.derivative.CouponFixedCompounding; import com.opengamma.analytics.financial.interestrate.payments.derivative.CouponFixedFxReset; import com.opengamma.analytics.financial.interestrate.payments.derivative.CouponIbor; import com.opengamma.analytics.financial.interestrate.payments.derivative.CouponIborAverage; import com.opengamma.analytics.financial.interestrate.payments.derivative.CouponIborAverageFixingDates; import com.opengamma.analytics.financial.interestrate.payments.derivative.CouponIborAverageFixingDatesCompounding; import com.opengamma.analytics.financial.interestrate.payments.derivative.CouponIborAverageFixingDatesCompoundingFlatSpread; import com.opengamma.analytics.financial.interestrate.payments.derivative.CouponIborCompounding; import com.opengamma.analytics.financial.interestrate.payments.derivative.CouponIborCompoundingFlatSpread; import com.opengamma.analytics.financial.interestrate.payments.derivative.CouponIborCompoundingSimpleSpread; import com.opengamma.analytics.financial.interestrate.payments.derivative.CouponIborCompoundingSpread; import com.opengamma.analytics.financial.interestrate.payments.derivative.CouponIborFxReset; import com.opengamma.analytics.financial.interestrate.payments.derivative.CouponIborGearing; import com.opengamma.analytics.financial.interestrate.payments.derivative.CouponIborSpread; import com.opengamma.analytics.financial.interestrate.payments.derivative.CouponON; import com.opengamma.analytics.financial.interestrate.payments.derivative.CouponONArithmeticAverage; import com.opengamma.analytics.financial.interestrate.payments.derivative.CouponONArithmeticAverageSpread; import com.opengamma.analytics.financial.interestrate.payments.derivative.CouponONArithmeticAverageSpreadSimplified; import com.opengamma.analytics.financial.interestrate.payments.derivative.CouponONCompounded; import com.opengamma.analytics.financial.interestrate.payments.derivative.CouponONSpread; import com.opengamma.analytics.financial.interestrate.payments.derivative.DepositIndexCoupon; import com.opengamma.analytics.financial.interestrate.payments.derivative.InterpolatedStubCoupon; import com.opengamma.analytics.financial.interestrate.payments.derivative.Payment; import com.opengamma.analytics.financial.interestrate.payments.derivative.PaymentFixed; import com.opengamma.analytics.financial.interestrate.swap.derivative.Swap; import com.opengamma.analytics.financial.interestrate.swap.derivative.SwapFixedCompoundingCoupon; import com.opengamma.analytics.financial.interestrate.swap.derivative.SwapFixedCoupon; import com.opengamma.analytics.financial.interestrate.swap.derivative.SwapMultileg; import com.opengamma.analytics.financial.interestrate.swap.derivative.TotalReturnSwap; import com.opengamma.analytics.financial.interestrate.swaption.derivative.SwaptionBermudaFixedIbor; import com.opengamma.analytics.financial.interestrate.swaption.derivative.SwaptionCashFixedCompoundedONCompounded; import com.opengamma.analytics.financial.interestrate.swaption.derivative.SwaptionCashFixedIbor; import com.opengamma.analytics.financial.interestrate.swaption.derivative.SwaptionPhysicalFixedCompoundedONCompounded; import com.opengamma.analytics.financial.interestrate.swaption.derivative.SwaptionPhysicalFixedIbor; import com.opengamma.analytics.financial.varianceswap.VarianceSwap; import com.opengamma.analytics.financial.volatilityswap.FXVolatilitySwap; import com.opengamma.analytics.financial.volatilityswap.VolatilitySwap; /** * * @param <DATA_TYPE> The type of the data * @param <RESULT_TYPE> The return type of the calculation */ @SuppressWarnings("deprecation") public abstract class InstrumentDerivativeVisitorAdapter<DATA_TYPE, RESULT_TYPE> implements InstrumentDerivativeVisitor<DATA_TYPE, RESULT_TYPE> { @Override public RESULT_TYPE visitBondFixedSecurity(final BondFixedSecurity bond, final DATA_TYPE data) { return getException(bond, data); } @Override public RESULT_TYPE visitBondFixedTransaction(final BondFixedTransaction bond, final DATA_TYPE data) { return getException(bond, data); } @Override public RESULT_TYPE visitBondIborSecurity(final BondIborSecurity bond, final DATA_TYPE data) { return getException(bond, data); } @Override public RESULT_TYPE visitBondIborTransaction(final BondIborTransaction bond, final DATA_TYPE data) { return getException(bond, data); } @Override public RESULT_TYPE visitBillSecurity(final BillSecurity bill, final DATA_TYPE data) { return getException(bill, data); } @Override public RESULT_TYPE visitBillTransaction(final BillTransaction bill, final DATA_TYPE data) { return getException(bill, data); } @Override public RESULT_TYPE visitFixedCouponAnnuity(final AnnuityCouponFixed fixedCouponAnnuity, final DATA_TYPE data) { return getException(fixedCouponAnnuity, data); } @Override public RESULT_TYPE visitCapFloorIbor(final CapFloorIbor payment, final DATA_TYPE data) { return getException(payment, data); } @Override public RESULT_TYPE visitCapFloorCMS(final CapFloorCMS payment, final DATA_TYPE data) { return getException(payment, data); } @Override public RESULT_TYPE visitCapFloorCMSSpread(final CapFloorCMSSpread payment, final DATA_TYPE data) { return getException(payment, data); } @Override public RESULT_TYPE visitForwardRateAgreement(final ForwardRateAgreement fra, final DATA_TYPE data) { return getException(fra, data); } @Override public RESULT_TYPE visitGenericAnnuity(final Annuity<? extends Payment> genericAnnuity, final DATA_TYPE data) { return getException(genericAnnuity, data); } @Override public RESULT_TYPE visitAnnuityCouponIborRatchet(final AnnuityCouponIborRatchet annuity, final DATA_TYPE data) { return getException(annuity, data); } @Override public RESULT_TYPE visitFixedCouponSwap(final SwapFixedCoupon<?> swap, final DATA_TYPE data) { return getException(swap, data); } @Override public RESULT_TYPE visitFixedCompoundingCouponSwap(final SwapFixedCompoundingCoupon<?> swap, final DATA_TYPE data) { return getException(swap, data); } @Override public RESULT_TYPE visitSwaptionCashFixedIbor(final SwaptionCashFixedIbor swaption, final DATA_TYPE data) { return getException(swaption, data); } @Override public RESULT_TYPE visitSwaptionPhysicalFixedIbor(final SwaptionPhysicalFixedIbor swaption, final DATA_TYPE data) { return getException(swaption, data); } @Override public RESULT_TYPE visitSwaptionBermudaFixedIbor(final SwaptionBermudaFixedIbor swaption, final DATA_TYPE data) { return getException(swaption, data); } @Override public RESULT_TYPE visitFixedPayment(final PaymentFixed payment, final DATA_TYPE data) { return getException(payment, data); } @Override public RESULT_TYPE visitBondFixedSecurity(final BondFixedSecurity bond) { return getException(bond); } @Override public RESULT_TYPE visitBondFixedTransaction(final BondFixedTransaction bond) { return getException(bond); } @Override public RESULT_TYPE visitBondIborSecurity(final BondIborSecurity bond) { return getException(bond); } @Override public RESULT_TYPE visitBondIborTransaction(final BondIborTransaction bond) { return getException(bond); } @Override public RESULT_TYPE visitBillSecurity(final BillSecurity bill) { return getException(bill); } @Override public RESULT_TYPE visitBillTransaction(final BillTransaction bill) { return getException(bill); } @Override public RESULT_TYPE visitFixedCouponAnnuity(final AnnuityCouponFixed fixedCouponAnnuity) { return getException(fixedCouponAnnuity); } @Override public RESULT_TYPE visitCash(final Cash cash, final DATA_TYPE data) { return getException(cash, data); } @Override public RESULT_TYPE visitCash(final Cash cash) { return getException(cash); } @Override public RESULT_TYPE visitCapFloorIbor(final CapFloorIbor payment) { return getException(payment); } @Override public RESULT_TYPE visitCapFloorCMS(final CapFloorCMS payment) { return getException(payment); } @Override public RESULT_TYPE visitCapFloorCMSSpread(final CapFloorCMSSpread payment) { return getException(payment); } @Override public RESULT_TYPE visitForwardRateAgreement(final ForwardRateAgreement fra) { return getException(fra); } @Override public RESULT_TYPE visitGenericAnnuity(final Annuity<? extends Payment> genericAnnuity) { return getException(genericAnnuity); } @Override public RESULT_TYPE visitAnnuityCouponIborRatchet(final AnnuityCouponIborRatchet annuity) { return getException(annuity); } @Override public RESULT_TYPE visitSwaptionCashFixedIbor(final SwaptionCashFixedIbor swaption) { return getException(swaption); } @Override public RESULT_TYPE visitSwaptionPhysicalFixedIbor(final SwaptionPhysicalFixedIbor swaption) { return getException(swaption); } @Override public RESULT_TYPE visitSwaptionBermudaFixedIbor(final SwaptionBermudaFixedIbor swaption) { return getException(swaption); } @Override public RESULT_TYPE visitSwaptionCashFixedCompoundedONCompounded(final SwaptionCashFixedCompoundedONCompounded swaption, final DATA_TYPE data) { return getException(swaption, data); } @Override public RESULT_TYPE visitSwaptionCashFixedCompoundedONCompounded(final SwaptionCashFixedCompoundedONCompounded swaption) { return getException(swaption); } @Override public RESULT_TYPE visitSwaptionPhysicalFixedCompoundedONCompounded(final SwaptionPhysicalFixedCompoundedONCompounded swaption, final DATA_TYPE data) { return getException(swaption, data); } @Override public RESULT_TYPE visitSwaptionPhysicalFixedCompoundedONCompounded(final SwaptionPhysicalFixedCompoundedONCompounded swaption) { return getException(swaption); } @Override public RESULT_TYPE visitFixedCouponSwap(final SwapFixedCoupon<?> swap) { return getException(swap); } @Override public RESULT_TYPE visitFixedCompoundingCouponSwap(final SwapFixedCompoundingCoupon<?> swap) { return getException(swap); } @Override public RESULT_TYPE visitFixedPayment(final PaymentFixed payment) { return getException(payment); } // ----- Payment and coupon ----- @Override public RESULT_TYPE visitCouponFixed(final CouponFixed payment, final DATA_TYPE data) { return getException(payment, data); } @Override public RESULT_TYPE visitCouponFixed(final CouponFixed payment) { return getException(payment); } @Override public RESULT_TYPE visitCouponFixedCompounding(final CouponFixedCompounding payment, final DATA_TYPE data) { return getException(payment, data); } @Override public RESULT_TYPE visitCouponFixedCompounding(final CouponFixedCompounding payment) { return getException(payment); } @Override public RESULT_TYPE visitCouponFixedAccruedCompounding(final CouponFixedAccruedCompounding payment, final DATA_TYPE data) { return getException(payment, data); } @Override public RESULT_TYPE visitCouponFixedAccruedCompounding(final CouponFixedAccruedCompounding payment) { return getException(payment); } @Override public RESULT_TYPE visitInterpolatedStubCoupon(final InterpolatedStubCoupon<? extends DepositIndexCoupon<? extends IndexDeposit>, ? extends IndexDeposit> payment, final DATA_TYPE data) { return getException(payment, data); } @Override public RESULT_TYPE visitInterpolatedStubCoupon(final InterpolatedStubCoupon<? extends DepositIndexCoupon<? extends IndexDeposit>, ? extends IndexDeposit> payment) { return getException(payment); } @Override public RESULT_TYPE visitCouponFixedFxReset(final CouponFixedFxReset payment, final DATA_TYPE data) { return getException(payment, data); } @Override public RESULT_TYPE visitCouponFixedFxReset(final CouponFixedFxReset payment) { return getException(payment); } @Override public RESULT_TYPE visitCouponIborFxReset(final CouponIborFxReset payment, final DATA_TYPE data) { return getException(payment, data); } @Override public RESULT_TYPE visitCouponIborFxReset(final CouponIborFxReset payment) { return getException(payment); } @Override public RESULT_TYPE visitCouponIbor(final CouponIbor payment, final DATA_TYPE data) { return getException(payment, data); } @Override public RESULT_TYPE visitCouponIbor(final CouponIbor payment) { return getException(payment); } @Override public RESULT_TYPE visitCouponIborAverage(final CouponIborAverage payment, final DATA_TYPE data) { return getException(payment, data); } @Override public RESULT_TYPE visitCouponIborAverage(final CouponIborAverage payment) { return getException(payment); } @Override public RESULT_TYPE visitCouponIborSpread(final CouponIborSpread payment, final DATA_TYPE data) { return getException(payment, data); } @Override public RESULT_TYPE visitCouponIborSpread(final CouponIborSpread payment) { return getException(payment); } @Override public RESULT_TYPE visitCouponIborGearing(final CouponIborGearing payment, final DATA_TYPE data) { return getException(payment, data); } @Override public RESULT_TYPE visitCouponIborGearing(final CouponIborGearing payment) { return getException(payment); } @Override public RESULT_TYPE visitCouponIborCompounding(final CouponIborCompounding payment, final DATA_TYPE data) { return getException(payment, data); } @Override public RESULT_TYPE visitCouponIborCompounding(final CouponIborCompounding payment) { return getException(payment); } @Override public RESULT_TYPE visitCouponIborCompoundingSpread(final CouponIborCompoundingSpread payment, final DATA_TYPE data) { return getException(payment, data); } @Override public RESULT_TYPE visitCouponIborCompoundingSpread(final CouponIborCompoundingSpread payment) { return getException(payment); } @Override public RESULT_TYPE visitCouponIborCompoundingFlatSpread(final CouponIborCompoundingFlatSpread payment, final DATA_TYPE data) { return getException(payment, data); } @Override public RESULT_TYPE visitCouponIborCompoundingFlatSpread(final CouponIborCompoundingFlatSpread payment) { return getException(payment); } @Override public RESULT_TYPE visitCouponIborCompoundingSimpleSpread(final CouponIborCompoundingSimpleSpread payment, final DATA_TYPE data) { return getException(payment, data); } @Override public RESULT_TYPE visitCouponIborCompoundingSimpleSpread(final CouponIborCompoundingSimpleSpread payment) { return getException(payment); } @Override public RESULT_TYPE visitCouponONCompounded(final CouponONCompounded payment, final DATA_TYPE data) { return getException(payment, data); } @Override public RESULT_TYPE visitCouponONCompounded(final CouponONCompounded payment) { return getException(payment); } @Override public RESULT_TYPE visitCouponOIS(final CouponON payment, final DATA_TYPE data) { return getException(payment, data); } @Override public RESULT_TYPE visitCouponOIS(final CouponON payment) { return getException(payment); } @Override public RESULT_TYPE visitCouponONSpread(final CouponONSpread payment, final DATA_TYPE data) { return getException(payment, data); } @Override public RESULT_TYPE visitCouponONSpread(final CouponONSpread payment) { return getException(payment); } @Override public RESULT_TYPE visitCouponONArithmeticAverage(final CouponONArithmeticAverage payment, final DATA_TYPE data) { return getException(payment, data); } @Override public RESULT_TYPE visitCouponONArithmeticAverage(final CouponONArithmeticAverage payment) { return getException(payment); } @Override public RESULT_TYPE visitCouponONArithmeticAverageSpread(final CouponONArithmeticAverageSpread payment, final DATA_TYPE data) { return getException(payment, data); } @Override public RESULT_TYPE visitCouponONArithmeticAverageSpread(final CouponONArithmeticAverageSpread payment) { return getException(payment); } @Override public RESULT_TYPE visitCouponONArithmeticAverageSpreadSimplified(final CouponONArithmeticAverageSpreadSimplified payment, final DATA_TYPE data) { return getException(payment, data); } @Override public RESULT_TYPE visitCouponONArithmeticAverageSpreadSimplified(final CouponONArithmeticAverageSpreadSimplified payment) { return getException(payment); } @Override public RESULT_TYPE visitCouponCMS(final CouponCMS payment, final DATA_TYPE data) { return getException(payment, data); } @Override public RESULT_TYPE visitCouponCMS(final CouponCMS payment) { return getException(payment); } @Override public RESULT_TYPE visitCouponIborAverageFixingDates(final CouponIborAverageFixingDates payment, final DATA_TYPE data) { return getException(payment, data); } @Override public RESULT_TYPE visitCouponIborAverageFixingDates(final CouponIborAverageFixingDates payment) { return getException(payment); } @Override public RESULT_TYPE visitCouponIborAverageCompounding(final CouponIborAverageFixingDatesCompounding payment, final DATA_TYPE data) { return getException(payment, data); } @Override public RESULT_TYPE visitCouponIborAverageCompounding(final CouponIborAverageFixingDatesCompounding payment) { return getException(payment); } @Override public RESULT_TYPE visitCouponIborAverageFlatCompoundingSpread(final CouponIborAverageFixingDatesCompoundingFlatSpread payment, final DATA_TYPE data) { return getException(payment, data); } @Override public RESULT_TYPE visitCouponIborAverageFlatCompoundingSpread(final CouponIborAverageFixingDatesCompoundingFlatSpread payment) { return getException(payment); } // ----- Inflation ----- @Override public RESULT_TYPE visitCouponInflationZeroCouponMonthly(final CouponInflationZeroCouponMonthly coupon) { return getException(coupon); } @Override public RESULT_TYPE visitCouponInflationZeroCouponMonthly(final CouponInflationZeroCouponMonthly coupon, final DATA_TYPE data) { return getException(coupon, data); } @Override public RESULT_TYPE visitCouponInflationZeroCouponMonthlyGearing(final CouponInflationZeroCouponMonthlyGearing coupon) { return getException(coupon); } @Override public RESULT_TYPE visitCouponInflationZeroCouponMonthlyGearing(final CouponInflationZeroCouponMonthlyGearing coupon, final DATA_TYPE data) { return getException(coupon, data); } @Override public RESULT_TYPE visitCouponInflationZeroCouponInterpolation(final CouponInflationZeroCouponInterpolation coupon) { return getException(coupon); } @Override public RESULT_TYPE visitCouponInflationZeroCouponInterpolation(final CouponInflationZeroCouponInterpolation coupon, final DATA_TYPE data) { return getException(coupon, data); } @Override public RESULT_TYPE visitCouponInflationZeroCouponInterpolationGearing(final CouponInflationZeroCouponInterpolationGearing coupon) { return getException(coupon); } @Override public RESULT_TYPE visitCouponInflationZeroCouponInterpolationGearing(final CouponInflationZeroCouponInterpolationGearing coupon, final DATA_TYPE data) { return getException(coupon, data); } @Override public RESULT_TYPE visitCouponInflationYearOnYearMonthly(final CouponInflationYearOnYearMonthly coupon) { return getException(coupon); } @Override public RESULT_TYPE visitCouponInflationYearOnYearMonthly(final CouponInflationYearOnYearMonthly coupon, final DATA_TYPE data) { return getException(coupon, data); } @Override public RESULT_TYPE visitCouponInflationYearOnYearInterpolation(final CouponInflationYearOnYearInterpolation coupon) { return getException(coupon); } @Override public RESULT_TYPE visitCouponInflationYearOnYearInterpolation(final CouponInflationYearOnYearInterpolation coupon, final DATA_TYPE data) { return getException(coupon, data); } @Override public RESULT_TYPE visitCouponInflationYearOnYearMonthlyWithMargin(final CouponInflationYearOnYearMonthlyWithMargin coupon) { return getException(coupon); } @Override public RESULT_TYPE visitCouponInflationYearOnYearMonthlyWithMargin(final CouponInflationYearOnYearMonthlyWithMargin coupon, final DATA_TYPE data) { return getException(coupon, data); } @Override public RESULT_TYPE visitCouponInflationYearOnYearInterpolationWithMargin(final CouponInflationYearOnYearInterpolationWithMargin coupon) { return getException(coupon); } @Override public RESULT_TYPE visitCouponInflationYearOnYearInterpolationWithMargin(final CouponInflationYearOnYearInterpolationWithMargin coupon, final DATA_TYPE data) { return getException(coupon, data); } @Override public RESULT_TYPE visitCapFloorInflationZeroCouponInterpolation(final CapFloorInflationZeroCouponInterpolation coupon) { return getException(coupon); } @Override public RESULT_TYPE visitCapFloorInflationZeroCouponInterpolation(final CapFloorInflationZeroCouponInterpolation coupon, final DATA_TYPE data) { return getException(coupon, data); } @Override public RESULT_TYPE visitCapFloorInflationZeroCouponMonthly(final CapFloorInflationZeroCouponMonthly coupon) { return getException(coupon); } @Override public RESULT_TYPE visitCapFloorInflationZeroCouponMonthly(final CapFloorInflationZeroCouponMonthly coupon, final DATA_TYPE data) { return getException(coupon, data); } @Override public RESULT_TYPE visitCapFloorInflationYearOnYearInterpolation(final CapFloorInflationYearOnYearInterpolation coupon) { return getException(coupon); } @Override public RESULT_TYPE visitCapFloorInflationYearOnYearInterpolation(final CapFloorInflationYearOnYearInterpolation coupon, final DATA_TYPE data) { return getException(coupon, data); } @Override public RESULT_TYPE visitCapFloorInflationYearOnYearMonthly(final CapFloorInflationYearOnYearMonthly coupon) { return getException(coupon); } @Override public RESULT_TYPE visitCapFloorInflationYearOnYearMonthly(final CapFloorInflationYearOnYearMonthly coupon, final DATA_TYPE data) { return getException(coupon, data); } @Override public RESULT_TYPE visitBondCapitalIndexedSecurity(final BondCapitalIndexedSecurity<?> bond) { return getException(bond); } @Override public RESULT_TYPE visitBondCapitalIndexedSecurity(final BondCapitalIndexedSecurity<?> bond, final DATA_TYPE data) { return getException(bond, data); } @Override public RESULT_TYPE visitBondInterestIndexedSecurity(final BondInterestIndexedSecurity<?, ?> bond) { return getException(bond); } @Override public RESULT_TYPE visitBondInterestIndexedSecurity(final BondInterestIndexedSecurity<?, ?> bond, final DATA_TYPE data) { return getException(bond, data); } @Override public RESULT_TYPE visitBondCapitalIndexedTransaction(final BondCapitalIndexedTransaction<?> bond) { return getException(bond); } @Override public RESULT_TYPE visitBondCapitalIndexedTransaction(final BondCapitalIndexedTransaction<?> bond, final DATA_TYPE data) { return getException(bond, data); } @Override public RESULT_TYPE visitBondInterestIndexedTransaction(final BondInterestIndexedTransaction<?, ?> bond) { return getException(bond); } @Override public RESULT_TYPE visitBondInterestIndexedTransaction(final BondInterestIndexedTransaction<?, ?> bond, final DATA_TYPE data) { return getException(bond, data); } // ----- Futures ----- @Override public RESULT_TYPE visitCashSettledFuture(final CashSettledFuture future, final DATA_TYPE data) { return getException(future, data); } @Override public RESULT_TYPE visitCashSettledFuture(final CashSettledFuture future) { return getException(future); } @Override public RESULT_TYPE visitBondFuture(final BondFuture bondFuture, final DATA_TYPE data) { return getException(bondFuture, data); } @Override public RESULT_TYPE visitBondFuture(final BondFuture bondFuture) { return getException(bondFuture); } @Override public RESULT_TYPE visitBondFuturesSecurity(final BondFuturesSecurity bondFutures, final DATA_TYPE data) { return getException(bondFutures, data); } @Override public RESULT_TYPE visitBondFuturesSecurity(final BondFuturesSecurity bondFutures) { return getException(bondFutures); } @Override public RESULT_TYPE visitBondFuturesTransaction(final BondFuturesTransaction bondFutures, final DATA_TYPE data) { return getException(bondFutures, data); } @Override public RESULT_TYPE visitBondFuturesTransaction(final BondFuturesTransaction bondFutures) { return getException(bondFutures); } @Override public RESULT_TYPE visitBondFuturesYieldAverageSecurity(final BondFuturesYieldAverageSecurity bondFutures, final DATA_TYPE data) { return getException(bondFutures, data); } @Override public RESULT_TYPE visitBondFuturesYieldAverageSecurity(final BondFuturesYieldAverageSecurity bondFutures) { return getException(bondFutures); } @Override public RESULT_TYPE visitYieldAverageBondFuturesTransaction(final BondFuturesYieldAverageTransaction bondFutures, final DATA_TYPE data) { return getException(bondFutures, data); } @Override public RESULT_TYPE visitYieldAverageBondFuturesTransaction(final BondFuturesYieldAverageTransaction bondFutures) { return getException(bondFutures); } @Override public RESULT_TYPE visitInterestRateFutureTransaction(final InterestRateFutureTransaction future, final DATA_TYPE data) { return getException(future, data); } @Override public RESULT_TYPE visitInterestRateFutureTransaction(final InterestRateFutureTransaction future) { return getException(future); } @Override public RESULT_TYPE visitInterestRateFutureSecurity(final InterestRateFutureSecurity future, final DATA_TYPE data) { return getException(future, data); } @Override public RESULT_TYPE visitInterestRateFutureSecurity(final InterestRateFutureSecurity future) { return getException(future); } @Override public RESULT_TYPE visitFederalFundsFutureSecurity(final FederalFundsFutureSecurity future, final DATA_TYPE data) { return getException(future, data); } @Override public RESULT_TYPE visitFederalFundsFutureSecurity(final FederalFundsFutureSecurity future) { return getException(future); } @Override public RESULT_TYPE visitFederalFundsFutureTransaction(final FederalFundsFutureTransaction future, final DATA_TYPE data) { return getException(future, data); } @Override public RESULT_TYPE visitFederalFundsFutureTransaction(final FederalFundsFutureTransaction future) { return getException(future); } @Override public RESULT_TYPE visitSwapFuturesPriceDeliverableSecurity(final SwapFuturesPriceDeliverableSecurity futures, final DATA_TYPE data) { return getException(futures, data); } @Override public RESULT_TYPE visitSwapFuturesPriceDeliverableSecurity(final SwapFuturesPriceDeliverableSecurity futures) { return getException(futures); } @Override public RESULT_TYPE visitSwapFuturesPriceDeliverableTransaction(final SwapFuturesPriceDeliverableTransaction futures, final DATA_TYPE data) { return getException(futures, data); } @Override public RESULT_TYPE visitSwapFuturesPriceDeliverableTransaction(final SwapFuturesPriceDeliverableTransaction futures) { return getException(futures); } @Override public RESULT_TYPE visitInterestRateFutureOptionMarginSecurity(final InterestRateFutureOptionMarginSecurity option, final DATA_TYPE data) { return getException(option, data); } @Override public RESULT_TYPE visitInterestRateFutureOptionMarginSecurity(final InterestRateFutureOptionMarginSecurity option) { return getException(option); } @Override public RESULT_TYPE visitInterestRateFutureOptionMarginTransaction(final InterestRateFutureOptionMarginTransaction option, final DATA_TYPE data) { return getException(option, data); } @Override public RESULT_TYPE visitInterestRateFutureOptionMarginTransaction(final InterestRateFutureOptionMarginTransaction option) { return getException(option); } @Override public RESULT_TYPE visitInterestRateFutureOptionPremiumSecurity(final InterestRateFutureOptionPremiumSecurity option, final DATA_TYPE data) { return getException(option, data); } @Override public RESULT_TYPE visitInterestRateFutureOptionPremiumSecurity(final InterestRateFutureOptionPremiumSecurity option) { return getException(option); } @Override public RESULT_TYPE visitInterestRateFutureOptionPremiumTransaction(final InterestRateFutureOptionPremiumTransaction option, final DATA_TYPE data) { return getException(option, data); } @Override public RESULT_TYPE visitInterestRateFutureOptionPremiumTransaction(final InterestRateFutureOptionPremiumTransaction option) { return getException(option); } @Override public RESULT_TYPE visitBondFuturesOptionMarginSecurity(final BondFuturesOptionMarginSecurity option, final DATA_TYPE data) { return getException(option, data); } @Override public RESULT_TYPE visitBondFuturesOptionMarginSecurity(final BondFuturesOptionMarginSecurity option) { return getException(option); } @Override public RESULT_TYPE visitBondFuturesOptionMarginTransaction(final BondFuturesOptionMarginTransaction option, final DATA_TYPE data) { return getException(option, data); } @Override public RESULT_TYPE visitBondFuturesOptionMarginTransaction(final BondFuturesOptionMarginTransaction option) { return getException(option); } @Override public RESULT_TYPE visitBondFutureOptionPremiumSecurity(final BondFuturesOptionPremiumSecurity option, final DATA_TYPE data) { return getException(option, data); } @Override public RESULT_TYPE visitBondFutureOptionPremiumSecurity(final BondFuturesOptionPremiumSecurity option) { return getException(option); } @Override public RESULT_TYPE visitBondFutureOptionPremiumTransaction(final BondFuturesOptionPremiumTransaction option, final DATA_TYPE data) { return getException(option, data); } @Override public RESULT_TYPE visitBondFutureOptionPremiumTransaction(final BondFuturesOptionPremiumTransaction option) { return getException(option); } // ----- Swap ----- @Override public RESULT_TYPE visitSwap(final Swap<?, ?> swap, final DATA_TYPE data) { return getException(swap, data); } @Override public RESULT_TYPE visitSwap(final Swap<?, ?> swap) { return getException(swap); } @Override public RESULT_TYPE visitSwapMultileg(final SwapMultileg swap, final DATA_TYPE data) { return getException(swap, data); } @Override public RESULT_TYPE visitSwapMultileg(final SwapMultileg swap) { return getException(swap); } // ----- Deposit ----- @Override public RESULT_TYPE visitDepositIbor(final DepositIbor deposit, final DATA_TYPE data) { return getException(deposit, data); } @Override public RESULT_TYPE visitDepositIbor(final DepositIbor deposit) { return getException(deposit); } @Override public RESULT_TYPE visitDepositCounterpart(final DepositCounterpart deposit, final DATA_TYPE data) { return getException(deposit, data); } @Override public RESULT_TYPE visitDepositCounterpart(final DepositCounterpart deposit) { return getException(deposit); } @Override public RESULT_TYPE visitDepositZero(final DepositZero deposit, final DATA_TYPE data) { return getException(deposit, data); } @Override public RESULT_TYPE visitDepositZero(final DepositZero deposit) { return getException(deposit); } // ----- Forex ----- @Override public RESULT_TYPE visitForex(final Forex derivative, final DATA_TYPE data) { return getException(derivative, data); } @Override public RESULT_TYPE visitForex(final Forex derivative) { return getException(derivative); } @Override public RESULT_TYPE visitForexSwap(final ForexSwap derivative, final DATA_TYPE data) { return getException(derivative, data); } @Override public RESULT_TYPE visitForexSwap(final ForexSwap derivative) { return getException(derivative); } @Override public RESULT_TYPE visitForexOptionVanilla(final ForexOptionVanilla derivative, final DATA_TYPE data) { return getException(derivative, data); } @Override public RESULT_TYPE visitForexOptionVanilla(final ForexOptionVanilla derivative) { return getException(derivative); } @Override public RESULT_TYPE visitForexOptionSingleBarrier(final ForexOptionSingleBarrier derivative, final DATA_TYPE data) { return getException(derivative, data); } @Override public RESULT_TYPE visitForexOptionSingleBarrier(final ForexOptionSingleBarrier derivative) { return getException(derivative); } @Override public RESULT_TYPE visitForexNonDeliverableForward(final ForexNonDeliverableForward derivative, final DATA_TYPE data) { return getException(derivative, data); } @Override public RESULT_TYPE visitForexNonDeliverableForward(final ForexNonDeliverableForward derivative) { return getException(derivative); } @Override public RESULT_TYPE visitForexNonDeliverableOption(final ForexNonDeliverableOption derivative, final DATA_TYPE data) { return getException(derivative, data); } @Override public RESULT_TYPE visitForexNonDeliverableOption(final ForexNonDeliverableOption derivative) { return getException(derivative); } @Override public RESULT_TYPE visitForexOptionDigital(final ForexOptionDigital derivative, final DATA_TYPE data) { return getException(derivative, data); } @Override public RESULT_TYPE visitForexOptionDigital(final ForexOptionDigital derivative) { return getException(derivative); } //----- Commodity ----- @Override public RESULT_TYPE visitMetalForward(final MetalForward future, final DATA_TYPE data) { return getException(future, data); } @Override public RESULT_TYPE visitMetalForward(final MetalForward future) { return getException(future); } @Override public RESULT_TYPE visitMetalFuture(final MetalFuture future, final DATA_TYPE data) { return getException(future, data); } @Override public RESULT_TYPE visitMetalFuture(final MetalFuture future) { return getException(future); } @Override public RESULT_TYPE visitMetalFutureOption(final MetalFutureOption future, final DATA_TYPE data) { return getException(future, data); } @Override public RESULT_TYPE visitMetalFutureOption(final MetalFutureOption future) { return getException(future); } @Override public RESULT_TYPE visitAgricultureForward(final AgricultureForward future, final DATA_TYPE data) { return getException(future, data); } @Override public RESULT_TYPE visitAgricultureForward(final AgricultureForward future) { return getException(future); } @Override public RESULT_TYPE visitAgricultureFuture(final AgricultureFuture future, final DATA_TYPE data) { return getException(future, data); } @Override public RESULT_TYPE visitAgricultureFuture(final AgricultureFuture future) { return getException(future); } @Override public RESULT_TYPE visitAgricultureFutureOption(final AgricultureFutureOption future, final DATA_TYPE data) { return getException(future, data); } @Override public RESULT_TYPE visitAgricultureFutureOption(final AgricultureFutureOption future) { return getException(future); } @Override public RESULT_TYPE visitEnergyForward(final EnergyForward future, final DATA_TYPE data) { return getException(future, data); } @Override public RESULT_TYPE visitEnergyForward(final EnergyForward future) { return getException(future); } @Override public RESULT_TYPE visitEnergyFuture(final EnergyFuture future, final DATA_TYPE data) { return getException(future, data); } @Override public RESULT_TYPE visitEnergyFuture(final EnergyFuture future) { return getException(future); } @Override public RESULT_TYPE visitEnergyFutureOption(final EnergyFutureOption future, final DATA_TYPE data) { return getException(future, data); } @Override public RESULT_TYPE visitEnergyFutureOption(final EnergyFutureOption future) { return getException(future); } @Override public RESULT_TYPE visitAgricultureFutureSecurity(final AgricultureFutureSecurity future, final DATA_TYPE data) { return getException(future, data); } @Override public RESULT_TYPE visitAgricultureFutureSecurity(final AgricultureFutureSecurity future) { return getException(future); } @Override public RESULT_TYPE visitAgricultureFutureTransaction(final AgricultureFutureTransaction future, final DATA_TYPE data) { return getException(future, data); } @Override public RESULT_TYPE visitAgricultureFutureTransaction(final AgricultureFutureTransaction future) { return getException(future); } @Override public RESULT_TYPE visitEnergyFutureSecurity(final EnergyFutureSecurity future, final DATA_TYPE data) { return getException(future, data); } @Override public RESULT_TYPE visitEnergyFutureSecurity(final EnergyFutureSecurity future) { return getException(future); } @Override public RESULT_TYPE visitEnergyFutureTransaction(final EnergyFutureTransaction future, final DATA_TYPE data) { return getException(future, data); } @Override public RESULT_TYPE visitEnergyFutureTransaction(final EnergyFutureTransaction future) { return getException(future); } @Override public RESULT_TYPE visitMetalFutureSecurity(final MetalFutureSecurity future, final DATA_TYPE data) { return getException(future, data); } @Override public RESULT_TYPE visitMetalFutureSecurity(final MetalFutureSecurity future) { return getException(future); } @Override public RESULT_TYPE visitMetalFutureTransaction(final MetalFutureTransaction future, final DATA_TYPE data) { return getException(future, data); } @Override public RESULT_TYPE visitMetalFutureTransaction(final MetalFutureTransaction future) { return getException(future); } @Override public RESULT_TYPE visitCouponCommodityCashSettle(final CouponCommodityCashSettle coupon, final DATA_TYPE data) { return getException(coupon, data); } @Override public RESULT_TYPE visitCouponCommodityCashSettle(final CouponCommodityCashSettle coupon) { return getException(coupon); } @Override public RESULT_TYPE visitCouponCommodityPhysicalSettle(final CouponCommodityPhysicalSettle coupon, final DATA_TYPE data) { return getException(coupon, data); } @Override public RESULT_TYPE visitCouponCommodityPhysicalSettle(final CouponCommodityPhysicalSettle coupon) { return getException(coupon); } @Override public RESULT_TYPE visitForwardCommodityCashSettle(final ForwardCommodityCashSettle forward, final DATA_TYPE data) { return getException(forward, data); } @Override public RESULT_TYPE visitForwardCommodityCashSettle(final ForwardCommodityCashSettle forward) { return getException(forward); } @Override public RESULT_TYPE visitForwardCommodityPhysicalSettle(final ForwardCommodityPhysicalSettle forward, final DATA_TYPE data) { return getException(forward, data); } @Override public RESULT_TYPE visitForwardCommodityPhysicalSettle(final ForwardCommodityPhysicalSettle forward) { return getException(forward); } // ----- Equity ----- @Override public RESULT_TYPE visitEquityFuture(final EquityFuture future, final DATA_TYPE data) { return getException(future, data); } @Override public RESULT_TYPE visitEquityFuture(final EquityFuture future) { return getException(future); } @Override public RESULT_TYPE visitIndexFuture(final IndexFuture future, final DATA_TYPE data) { return getException(future, data); } @Override public RESULT_TYPE visitIndexFuture(final IndexFuture future) { return getException(future); } @Override public RESULT_TYPE visitEquityIndexFuture(final EquityIndexFuture future, final DATA_TYPE data) { return getException(future, data); } @Override public RESULT_TYPE visitEquityIndexFuture(final EquityIndexFuture future) { return getException(future); } @Override public RESULT_TYPE visitEquityIndexDividendFuture(final EquityIndexDividendFuture future, final DATA_TYPE data) { return getException(future, data); } @Override public RESULT_TYPE visitEquityIndexDividendFuture(final EquityIndexDividendFuture future) { return getException(future); } @Override public RESULT_TYPE visitVolatilityIndexFuture(final VolatilityIndexFuture future, final DATA_TYPE data) { return getException(future, data); } @Override public RESULT_TYPE visitVolatilityIndexFuture(final VolatilityIndexFuture future) { return getException(future); } @Override public RESULT_TYPE visitEquityIndexOption(final EquityIndexOption option, final DATA_TYPE data) { return getException(option, data); } @Override public RESULT_TYPE visitEquityIndexOption(final EquityIndexOption option) { return getException(option); } @Override public RESULT_TYPE visitEquityIndexFutureOption(final EquityIndexFutureOption option, final DATA_TYPE data) { return getException(option, data); } @Override public RESULT_TYPE visitEquityIndexFutureOption(final EquityIndexFutureOption option) { return getException(option); } @Override public RESULT_TYPE visitEquityOption(final EquityOption option, final DATA_TYPE data) { return getException(option, data); } @Override public RESULT_TYPE visitEquityOption(final EquityOption option) { return getException(option); } // ----- Variance and volatility swaps ----- @Override public RESULT_TYPE visitVarianceSwap(final VarianceSwap varianceSwap, final DATA_TYPE data) { return getException(varianceSwap, data); } @Override public RESULT_TYPE visitVarianceSwap(final VarianceSwap varianceSwap) { return getException(varianceSwap); } @Override public RESULT_TYPE visitEquityVarianceSwap(final EquityVarianceSwap varianceSwap, final DATA_TYPE data) { return getException(varianceSwap, data); } @Override public RESULT_TYPE visitEquityVarianceSwap(final EquityVarianceSwap varianceSwap) { return getException(varianceSwap); } @Override public RESULT_TYPE visitVolatilitySwap(final VolatilitySwap volatilitySwap, final DATA_TYPE data) { return getException(volatilitySwap, data); } @Override public RESULT_TYPE visitVolatilitySwap(final VolatilitySwap volatilitySwap) { return getException(volatilitySwap); } @Override public RESULT_TYPE visitFXVolatilitySwap(final FXVolatilitySwap volatilitySwap, final DATA_TYPE data) { return getException(volatilitySwap, data); } @Override public RESULT_TYPE visitFXVolatilitySwap(final FXVolatilitySwap volatilitySwap) { return getException(volatilitySwap); } @Override public RESULT_TYPE visitTotalReturnSwap(final TotalReturnSwap totalReturnSwap) { return getException(totalReturnSwap); } @Override public RESULT_TYPE visitTotalReturnSwap(final TotalReturnSwap totalReturnSwap, final DATA_TYPE data) { return getException(totalReturnSwap, data); } @Override public RESULT_TYPE visitBondTotalReturnSwap(final BondTotalReturnSwap totalReturnSwap) { return getException(totalReturnSwap); } @Override public RESULT_TYPE visitBondTotalReturnSwap(final BondTotalReturnSwap totalReturnSwap, final DATA_TYPE data) { return getException(totalReturnSwap, data); } @Override public RESULT_TYPE visitBillTotalReturnSwap(final BillTotalReturnSwap totalReturnSwap) { return getException(totalReturnSwap); } @Override public RESULT_TYPE visitBillTotalReturnSwap(final BillTotalReturnSwap totalReturnSwap, final DATA_TYPE data) { return getException(totalReturnSwap, data); } @Override public RESULT_TYPE visitEquityTotalReturnSwap(final EquityTotalReturnSwap totalReturnSwap) { return getException(totalReturnSwap); } @Override public RESULT_TYPE visitEquityTotalReturnSwap(final EquityTotalReturnSwap totalReturnSwap, final DATA_TYPE data) { return getException(totalReturnSwap, data); } @Override public RESULT_TYPE visitEquity(final Equity equity) { return getException(equity); } @Override public RESULT_TYPE visitEquity(final Equity equity, final DATA_TYPE data) { return getException(equity, data); } // ----- Deprecated ----- @Override public RESULT_TYPE visitForexForward(final ForexForward fx, final DATA_TYPE data) { return getException(fx, data); } @Override public RESULT_TYPE visitForexForward(final ForexForward fx) { return getException(fx); } /** * Default result of calling a visit method, which is to throw an {@link UnsupportedOperationException} * @param derivative The derivative * @param data The data * @return Throws an exception * @throws UnsupportedOperationException */ private RESULT_TYPE getException(final InstrumentDerivative derivative, final DATA_TYPE data) { if (derivative != null && data != null) { throw new UnsupportedOperationException(getClass().getSimpleName() + " does not support derivatives of type " + derivative.getClass().getSimpleName() + " with data of type " + data.getClass().getSimpleName()); } throw new UnsupportedOperationException(getClass().getSimpleName() + " does not support this method"); } /** * Default result of calling a visit method, which is to throw an {@link UnsupportedOperationException} * @param derivative The derivative * @return Throws an exception * @throws UnsupportedOperationException */ private RESULT_TYPE getException(final InstrumentDerivative derivative) { if (derivative != null) { throw new UnsupportedOperationException(getClass().getSimpleName() + " does not support derivatives of type " + derivative.getClass().getSimpleName() + " without data"); } throw new UnsupportedOperationException(getClass().getSimpleName() + " does not support this method"); } }