/**
* Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
/**
* Copyright (C) 2011 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.analytics.financial.instrument;
import static org.testng.AssertJUnit.assertEquals;
import static org.testng.AssertJUnit.fail;
import java.util.Set;
import org.testng.annotations.Test;
import com.opengamma.analytics.financial.commodity.definition.AgricultureForwardDefinition;
import com.opengamma.analytics.financial.commodity.definition.AgricultureFutureDefinition;
import com.opengamma.analytics.financial.commodity.definition.AgricultureFutureOptionDefinition;
import com.opengamma.analytics.financial.commodity.definition.EnergyForwardDefinition;
import com.opengamma.analytics.financial.commodity.definition.EnergyFutureDefinition;
import com.opengamma.analytics.financial.commodity.definition.EnergyFutureOptionDefinition;
import com.opengamma.analytics.financial.commodity.definition.MetalForwardDefinition;
import com.opengamma.analytics.financial.commodity.definition.MetalFutureDefinition;
import com.opengamma.analytics.financial.commodity.definition.MetalFutureOptionDefinition;
import com.opengamma.analytics.financial.commodity.multicurvecommodity.definition.AgricultureFutureSecurityDefinition;
import com.opengamma.analytics.financial.commodity.multicurvecommodity.definition.AgricultureFutureTransactionDefinition;
import com.opengamma.analytics.financial.commodity.multicurvecommodity.definition.CouponCommodityCashSettleDefinition;
import com.opengamma.analytics.financial.commodity.multicurvecommodity.definition.CouponCommodityPhysicalSettleDefinition;
import com.opengamma.analytics.financial.commodity.multicurvecommodity.definition.EnergyFutureSecurityDefinition;
import com.opengamma.analytics.financial.commodity.multicurvecommodity.definition.EnergyFutureTransactionDefinition;
import com.opengamma.analytics.financial.commodity.multicurvecommodity.definition.ForwardCommodityCashSettleDefinition;
import com.opengamma.analytics.financial.commodity.multicurvecommodity.definition.ForwardCommodityPhysicalSettleDefinition;
import com.opengamma.analytics.financial.commodity.multicurvecommodity.definition.MetalFutureSecurityDefinition;
import com.opengamma.analytics.financial.commodity.multicurvecommodity.definition.MetalFutureTransactionDefinition;
import com.opengamma.analytics.financial.equity.EquityDefinition;
import com.opengamma.analytics.financial.equity.future.definition.EquityFutureDefinition;
import com.opengamma.analytics.financial.equity.future.definition.EquityIndexDividendFutureDefinition;
import com.opengamma.analytics.financial.equity.future.definition.EquityIndexFutureDefinition;
import com.opengamma.analytics.financial.equity.future.definition.IndexFutureDefinition;
import com.opengamma.analytics.financial.equity.future.definition.VolatilityIndexFutureDefinition;
import com.opengamma.analytics.financial.equity.option.EquityIndexFutureOptionDefinition;
import com.opengamma.analytics.financial.equity.option.EquityIndexOptionDefinition;
import com.opengamma.analytics.financial.equity.option.EquityOptionDefinition;
import com.opengamma.analytics.financial.equity.trs.definition.EquityTotalReturnSwapDefinition;
import com.opengamma.analytics.financial.equity.variance.EquityVarianceSwapDefinition;
import com.opengamma.analytics.financial.forex.definition.ForexDefinition;
import com.opengamma.analytics.financial.forex.definition.ForexNonDeliverableForwardDefinition;
import com.opengamma.analytics.financial.forex.definition.ForexNonDeliverableOptionDefinition;
import com.opengamma.analytics.financial.forex.definition.ForexOptionDigitalDefinition;
import com.opengamma.analytics.financial.forex.definition.ForexOptionSingleBarrierDefinition;
import com.opengamma.analytics.financial.forex.definition.ForexOptionVanillaDefinition;
import com.opengamma.analytics.financial.forex.definition.ForexSwapDefinition;
import com.opengamma.analytics.financial.instrument.annuity.AnnuityDefinition;
import com.opengamma.analytics.financial.instrument.bond.BillSecurityDefinition;
import com.opengamma.analytics.financial.instrument.bond.BillTotalReturnSwapDefinition;
import com.opengamma.analytics.financial.instrument.bond.BillTransactionDefinition;
import com.opengamma.analytics.financial.instrument.bond.BondCapitalIndexedSecurityDefinition;
import com.opengamma.analytics.financial.instrument.bond.BondCapitalIndexedTransactionDefinition;
import com.opengamma.analytics.financial.instrument.bond.BondFixedSecurityDefinition;
import com.opengamma.analytics.financial.instrument.bond.BondFixedTransactionDefinition;
import com.opengamma.analytics.financial.instrument.bond.BondIborSecurityDefinition;
import com.opengamma.analytics.financial.instrument.bond.BondIborTransactionDefinition;
import com.opengamma.analytics.financial.instrument.bond.BondInterestIndexedSecurityDefinition;
import com.opengamma.analytics.financial.instrument.bond.BondInterestIndexedTransactionDefinition;
import com.opengamma.analytics.financial.instrument.bond.BondTotalReturnSwapDefinition;
import com.opengamma.analytics.financial.instrument.cash.CashDefinition;
import com.opengamma.analytics.financial.instrument.cash.DepositCounterpartDefinition;
import com.opengamma.analytics.financial.instrument.cash.DepositIborDefinition;
import com.opengamma.analytics.financial.instrument.cash.DepositZeroDefinition;
import com.opengamma.analytics.financial.instrument.fra.ForwardRateAgreementDefinition;
import com.opengamma.analytics.financial.instrument.future.BondFutureDefinition;
import com.opengamma.analytics.financial.instrument.future.BondFuturesOptionPremiumSecurityDefinition;
import com.opengamma.analytics.financial.instrument.future.BondFuturesOptionPremiumTransactionDefinition;
import com.opengamma.analytics.financial.instrument.future.BondFuturesOptionMarginSecurityDefinition;
import com.opengamma.analytics.financial.instrument.future.BondFuturesOptionMarginTransactionDefinition;
import com.opengamma.analytics.financial.instrument.future.BondFuturesSecurityDefinition;
import com.opengamma.analytics.financial.instrument.future.BondFuturesTransactionDefinition;
import com.opengamma.analytics.financial.instrument.future.BondFuturesYieldAverageSecurityDefinition;
import com.opengamma.analytics.financial.instrument.future.BondFuturesYieldAverageTransactionDefinition;
import com.opengamma.analytics.financial.instrument.future.FederalFundsFutureSecurityDefinition;
import com.opengamma.analytics.financial.instrument.future.FederalFundsFutureTransactionDefinition;
import com.opengamma.analytics.financial.instrument.future.InterestRateFutureOptionMarginSecurityDefinition;
import com.opengamma.analytics.financial.instrument.future.InterestRateFutureOptionMarginTransactionDefinition;
import com.opengamma.analytics.financial.instrument.future.InterestRateFutureOptionPremiumSecurityDefinition;
import com.opengamma.analytics.financial.instrument.future.InterestRateFutureOptionPremiumTransactionDefinition;
import com.opengamma.analytics.financial.instrument.future.InterestRateFutureSecurityDefinition;
import com.opengamma.analytics.financial.instrument.future.InterestRateFutureTransactionDefinition;
import com.opengamma.analytics.financial.instrument.future.SwapFuturesPriceDeliverableSecurityDefinition;
import com.opengamma.analytics.financial.instrument.future.SwapFuturesPriceDeliverableTransactionDefinition;
import com.opengamma.analytics.financial.instrument.inflation.CapFloorInflationYearOnYearInterpolationDefinition;
import com.opengamma.analytics.financial.instrument.inflation.CapFloorInflationYearOnYearMonthlyDefinition;
import com.opengamma.analytics.financial.instrument.inflation.CapFloorInflationZeroCouponInterpolationDefinition;
import com.opengamma.analytics.financial.instrument.inflation.CapFloorInflationZeroCouponMonthlyDefinition;
import com.opengamma.analytics.financial.instrument.inflation.CouponInflationYearOnYearInterpolationDefinition;
import com.opengamma.analytics.financial.instrument.inflation.CouponInflationYearOnYearInterpolationWithMarginDefinition;
import com.opengamma.analytics.financial.instrument.inflation.CouponInflationYearOnYearMonthlyDefinition;
import com.opengamma.analytics.financial.instrument.inflation.CouponInflationYearOnYearMonthlyWithMarginDefinition;
import com.opengamma.analytics.financial.instrument.inflation.CouponInflationZeroCouponInterpolationDefinition;
import com.opengamma.analytics.financial.instrument.inflation.CouponInflationZeroCouponInterpolationGearingDefinition;
import com.opengamma.analytics.financial.instrument.inflation.CouponInflationZeroCouponMonthlyDefinition;
import com.opengamma.analytics.financial.instrument.inflation.CouponInflationZeroCouponMonthlyGearingDefinition;
import com.opengamma.analytics.financial.instrument.payment.CapFloorCMSDefinition;
import com.opengamma.analytics.financial.instrument.payment.CapFloorCMSSpreadDefinition;
import com.opengamma.analytics.financial.instrument.payment.CapFloorIborDefinition;
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.CouponFixedFxResetDefinition;
import com.opengamma.analytics.financial.instrument.payment.CouponIborAverageFixingDatesCompoundingDefinition;
import com.opengamma.analytics.financial.instrument.payment.CouponIborAverageFixingDatesCompoundingFlatSpreadDefinition;
import com.opengamma.analytics.financial.instrument.payment.CouponIborAverageFixingDatesDefinition;
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.CouponIborCompoundingSimpleSpreadDefinition;
import com.opengamma.analytics.financial.instrument.payment.CouponIborCompoundingSpreadDefinition;
import com.opengamma.analytics.financial.instrument.payment.CouponIborDefinition;
import com.opengamma.analytics.financial.instrument.payment.CouponIborFxResetDefinition;
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.CouponONArithmeticAverageSpreadSimplifiedDefinition;
import com.opengamma.analytics.financial.instrument.payment.CouponONCompoundedDefinition;
import com.opengamma.analytics.financial.instrument.payment.CouponONDefinition;
import com.opengamma.analytics.financial.instrument.payment.CouponONSimplifiedDefinition;
import com.opengamma.analytics.financial.instrument.payment.CouponONSpreadDefinition;
import com.opengamma.analytics.financial.instrument.payment.CouponONSpreadSimplifiedDefinition;
import com.opengamma.analytics.financial.instrument.payment.PaymentDefinition;
import com.opengamma.analytics.financial.instrument.payment.PaymentFixedDefinition;
import com.opengamma.analytics.financial.instrument.swap.SwapDefinition;
import com.opengamma.analytics.financial.instrument.swap.SwapFixedIborDefinition;
import com.opengamma.analytics.financial.instrument.swap.SwapFixedIborSpreadDefinition;
import com.opengamma.analytics.financial.instrument.swap.SwapIborIborDefinition;
import com.opengamma.analytics.financial.instrument.swap.SwapMultilegDefinition;
import com.opengamma.analytics.financial.instrument.swap.SwapXCcyIborIborDefinition;
import com.opengamma.analytics.financial.instrument.swap.TotalReturnSwapDefinition;
import com.opengamma.analytics.financial.instrument.swaption.SwaptionBermudaFixedIborDefinition;
import com.opengamma.analytics.financial.instrument.swaption.SwaptionCashFixedCompoundedONCompoundingDefinition;
import com.opengamma.analytics.financial.instrument.swaption.SwaptionCashFixedIborDefinition;
import com.opengamma.analytics.financial.instrument.swaption.SwaptionPhysicalFixedIborDefinition;
import com.opengamma.analytics.financial.instrument.swaption.SwaptionPhysicalFixedIborSpreadDefinition;
import com.opengamma.analytics.financial.instrument.varianceswap.VarianceSwapDefinition;
import com.opengamma.analytics.financial.instrument.volatilityswap.FXVolatilitySwapDefinition;
import com.opengamma.analytics.financial.instrument.volatilityswap.VolatilitySwapDefinition;
import com.opengamma.util.test.TestGroup;
/**
* Class testing the instrument definition visitor.
*/
@Test(groups = TestGroup.UNIT)
public class InstrumentDefinitionVisitorTest {
private static final Set<InstrumentDefinition<?>> ALL_INSTRUMENTS = TestInstrumentDefinitionsAndDerivatives.getAllInstruments();
private static final MyVisitor<Object> VISITOR = new MyVisitor<>();
@Test(expectedExceptions = IllegalArgumentException.class)
public void testNullDelegate() {
new InstrumentDefinitionVisitorDelegate<>(null);
}
@Test
public void testNullVisitor() {
for (final InstrumentDefinition<?> definition : ALL_INSTRUMENTS) {
try {
definition.accept(null);
fail();
} catch (final IllegalArgumentException e) {
} catch (final NullPointerException e) {
throw new NullPointerException("accept(InstrumentDefinitionVisitor visitor) in " + definition.getClass().getSimpleName() + " does not check that the visitor is not null");
}
}
for (final InstrumentDefinition<?> definition : ALL_INSTRUMENTS) {
try {
definition.accept(null, "");
fail();
} catch (final IllegalArgumentException e) {
} catch (final NullPointerException e) {
throw new NullPointerException("accept(InstrumentDefinitionVisitor visitor, S data) in " + definition.getClass().getSimpleName() + " does not check that the visitor is not null");
}
}
}
@Test
public void testVisitMethodsImplemented() {
final Object o = "G";
final String s = " + data";
@SuppressWarnings("unused")
int count = 0;
for (final InstrumentDefinition<?> definition : ALL_INSTRUMENTS) {
assertEquals(definition.accept(VISITOR), definition.getClass().getSimpleName());
assertEquals(definition.accept(VISITOR, o), definition.getClass().getSimpleName() + s);
count += 2;
}
// assertTrue("Have not tested all methods - need to make sure that the accept() method in the definition points to the correct method in the visitor:",
// InstrumentDefinitionVisitor.class.getMethods().length <= count);
}
@Test
public void testDelegate() {
final String s = "aaaa";
final String result = s + " + data1";
final BondFixedVisitor<Object> visitor = new BondFixedVisitor<>(VISITOR, s);
for (final InstrumentDefinition<?> definition : ALL_INSTRUMENTS) {
if (definition instanceof BondFixedSecurityDefinition) {
assertEquals(definition.accept(visitor), s);
assertEquals(definition.accept(visitor, ""), result);
} else {
assertEquals(definition.accept(visitor), definition.accept(VISITOR));
assertEquals(definition.accept(visitor, ""), definition.accept(VISITOR, ""));
}
}
}
@Test
public void testAdapter() {
final DummyVisitor visitor = new DummyVisitor();
for (final InstrumentDefinition<?> definition : ALL_INSTRUMENTS) {
try {
definition.accept(visitor);
fail();
} catch (final UnsupportedOperationException e) {
}
}
for (final InstrumentDefinition<?> definition : ALL_INSTRUMENTS) {
try {
definition.accept(visitor, "");
fail();
} catch (final UnsupportedOperationException e) {
}
}
for (final InstrumentDefinition<?> definition : ALL_INSTRUMENTS) {
try {
definition.accept(visitor, null);
fail();
} catch (final UnsupportedOperationException e) {
}
}
}
@Test
public void testSameValueAdapter() {
final Double value = Math.PI;
final InstrumentDefinitionVisitor<Double, Double> visitor = new InstrumentDefinitionVisitorSameValueAdapter<>(value);
for (final InstrumentDefinition<?> definition : ALL_INSTRUMENTS) {
assertEquals(value, definition.accept(visitor));
assertEquals(value, definition.accept(visitor, Math.E));
}
}
@Test
public void testSameMethodAdapter() {
final String data = "qwerty";
final InstrumentDefinitionVisitor<String, String> visitor = new SameMethodAdapter();
for (final InstrumentDefinition<?> definition : ALL_INSTRUMENTS) {
final String simpleName = definition.getClass().getSimpleName();
assertEquals(simpleName, definition.accept(visitor));
assertEquals(definition.getClass().getSimpleName() + data, definition.accept(visitor, data));
}
}
private static class DummyVisitor extends InstrumentDefinitionVisitorAdapter<Object, Object> {
public DummyVisitor() {
}
}
private static class SameMethodAdapter extends InstrumentDefinitionVisitorSameMethodAdapter<String, String> {
public SameMethodAdapter() {
}
@Override
public String visit(final InstrumentDefinition<?> instrument) {
return instrument.getClass().getSimpleName();
}
@Override
public String visit(final InstrumentDefinition<?> instrument, final String data) {
return instrument.getClass().getSimpleName() + data;
}
@Override
public String visitCouponInflationYearOnYearInterpolationDefinition(final CouponInflationYearOnYearInterpolationDefinition coupon, final String data) {
return null;
}
@Override
public String visitCouponInflationYearOnYearInterpolationDefinition(final CouponInflationYearOnYearInterpolationDefinition coupon) {
return null;
}
}
private static class BondFixedVisitor<T> extends InstrumentDefinitionVisitorDelegate<T, String> {
private final String _s;
public BondFixedVisitor(final InstrumentDefinitionVisitor<T, String> delegate, final String s) {
super(delegate);
_s = s;
}
@Override
public String visitBondFixedSecurityDefinition(final BondFixedSecurityDefinition bond, final T data) {
return _s + " + data1";
}
@Override
public String visitBondFixedSecurityDefinition(final BondFixedSecurityDefinition bond) {
return _s;
}
}
private static class MyVisitor<T> implements InstrumentDefinitionVisitor<T, String> {
public MyVisitor() {
}
private String getValue(final InstrumentDefinition<?> definition, final boolean withData) {
String result = definition.getClass().getSimpleName();
if (withData) {
result += " + data";
}
return result;
}
@Override
public String visitBondFixedSecurityDefinition(final BondFixedSecurityDefinition bond, final T data) {
return getValue(bond, true);
}
@Override
public String visitBondFixedSecurityDefinition(final BondFixedSecurityDefinition bond) {
return getValue(bond, false);
}
@Override
public String visitBondFixedTransactionDefinition(final BondFixedTransactionDefinition bond, final T data) {
return getValue(bond, true);
}
@Override
public String visitBondFixedTransactionDefinition(final BondFixedTransactionDefinition bond) {
return getValue(bond, false);
}
@Override
public String visitBondFutureDefinition(final BondFutureDefinition bond, final T data) {
return getValue(bond, true);
}
@Override
public String visitBondFutureOptionPremiumSecurityDefinition(final BondFuturesOptionPremiumSecurityDefinition bond, final T data) {
return getValue(bond, true);
}
@Override
public String visitBondFutureOptionPremiumTransactionDefinition(final BondFuturesOptionPremiumTransactionDefinition bond, final T data) {
return getValue(bond, true);
}
@Override
public String visitBondIborTransactionDefinition(final BondIborTransactionDefinition bond, final T data) {
return getValue(bond, true);
}
@Override
public String visitBondIborTransactionDefinition(final BondIborTransactionDefinition bond) {
return getValue(bond, false);
}
@Override
public String visitBondIborSecurityDefinition(final BondIborSecurityDefinition bond, final T data) {
return getValue(bond, true);
}
@Override
public String visitBondIborSecurityDefinition(final BondIborSecurityDefinition bond) {
return getValue(bond, false);
}
@Override
public String visitBillSecurityDefinition(final BillSecurityDefinition bill, final T data) {
return getValue(bill, true);
}
@Override
public String visitBillSecurityDefinition(final BillSecurityDefinition bill) {
return getValue(bill, false);
}
@Override
public String visitBillTransactionDefinition(final BillTransactionDefinition bill, final T data) {
return getValue(bill, true);
}
@Override
public String visitBillTransactionDefinition(final BillTransactionDefinition bill) {
return getValue(bill, false);
}
@Override
public String visitCashDefinition(final CashDefinition cash, final T data) {
return getValue(cash, true);
}
@Override
public String visitCashDefinition(final CashDefinition cash) {
return getValue(cash, false);
}
@Override
public String visitDepositIborDefinition(final DepositIborDefinition deposit, final T data) {
return getValue(deposit, true);
}
@Override
public String visitDepositIborDefinition(final DepositIborDefinition deposit) {
return getValue(deposit, false);
}
@Override
public String visitDepositCounterpartDefinition(final DepositCounterpartDefinition deposit, final T data) {
return getValue(deposit, true);
}
@Override
public String visitDepositCounterpartDefinition(final DepositCounterpartDefinition deposit) {
return getValue(deposit, false);
}
@Override
public String visitDepositZeroDefinition(final DepositZeroDefinition deposit, final T data) {
return getValue(deposit, true);
}
@Override
public String visitDepositZeroDefinition(final DepositZeroDefinition deposit) {
return getValue(deposit, false);
}
@Override
public String visitForwardRateAgreementDefinition(final ForwardRateAgreementDefinition fra, final T data) {
return getValue(fra, true);
}
@Override
public String visitForwardRateAgreementDefinition(final ForwardRateAgreementDefinition fra) {
return getValue(fra, false);
}
@Override
public String visitInterestRateFutureTransactionDefinition(final InterestRateFutureTransactionDefinition future, final T data) {
return getValue(future, true);
}
@Override
public String visitInterestRateFutureTransactionDefinition(final InterestRateFutureTransactionDefinition future) {
return getValue(future, false);
}
@Override
public String visitInterestRateFutureSecurityDefinition(final InterestRateFutureSecurityDefinition future, final T data) {
return getValue(future, true);
}
@Override
public String visitInterestRateFutureSecurityDefinition(final InterestRateFutureSecurityDefinition future) {
return getValue(future, false);
}
@Override
public String visitFederalFundsFutureSecurityDefinition(final FederalFundsFutureSecurityDefinition future, final T data) {
return getValue(future, true);
}
@Override
public String visitFederalFundsFutureSecurityDefinition(final FederalFundsFutureSecurityDefinition future) {
return getValue(future, false);
}
@Override
public String visitFederalFundsFutureTransactionDefinition(final FederalFundsFutureTransactionDefinition future, final T data) {
return getValue(future, true);
}
@Override
public String visitFederalFundsFutureTransactionDefinition(final FederalFundsFutureTransactionDefinition future) {
return getValue(future, false);
}
@Override
public String visitBondFutureDefinition(final BondFutureDefinition bond) {
return getValue(bond, false);
}
@Override
public String visitDeliverableSwapFuturesSecurityDefinition(final SwapFuturesPriceDeliverableSecurityDefinition futures, final T data) {
return getValue(futures, true);
}
@Override
public String visitDeliverableSwapFuturesSecurityDefinition(final SwapFuturesPriceDeliverableSecurityDefinition futures) {
return getValue(futures, false);
}
@Override
public String visitInterestRateFutureOptionPremiumSecurityDefinition(final InterestRateFutureOptionPremiumSecurityDefinition future, final T data) {
return getValue(future, true);
}
@Override
public String visitInterestRateFutureOptionPremiumSecurityDefinition(final InterestRateFutureOptionPremiumSecurityDefinition future) {
return getValue(future, false);
}
@Override
public String visitInterestRateFutureOptionPremiumTransactionDefinition(final InterestRateFutureOptionPremiumTransactionDefinition future, final T data) {
return getValue(future, true);
}
@Override
public String visitInterestRateFutureOptionPremiumTransactionDefinition(final InterestRateFutureOptionPremiumTransactionDefinition future) {
return getValue(future, false);
}
@Override
public String visitInterestRateFutureOptionMarginSecurityDefinition(final InterestRateFutureOptionMarginSecurityDefinition future, final T data) {
return getValue(future, true);
}
@Override
public String visitInterestRateFutureOptionMarginSecurityDefinition(final InterestRateFutureOptionMarginSecurityDefinition future) {
return getValue(future, false);
}
@Override
public String visitInterestRateFutureOptionMarginTransactionDefinition(final InterestRateFutureOptionMarginTransactionDefinition future, final T data) {
return getValue(future, true);
}
@Override
public String visitInterestRateFutureOptionMarginTransactionDefinition(final InterestRateFutureOptionMarginTransactionDefinition future) {
return getValue(future, false);
}
@Override
public String visitBondFutureOptionPremiumSecurityDefinition(final BondFuturesOptionPremiumSecurityDefinition bond) {
return getValue(bond, false);
}
@Override
public String visitBondFutureOptionPremiumTransactionDefinition(final BondFuturesOptionPremiumTransactionDefinition bond) {
return getValue(bond, false);
}
@Override
public String visitPaymentFixedDefinition(final PaymentFixedDefinition payment, final T data) {
return getValue(payment, true);
}
@Override
public String visitPaymentFixedDefinition(final PaymentFixedDefinition payment) {
return getValue(payment, false);
}
@Override
public String visitCouponFixedDefinition(final CouponFixedDefinition payment, final T data) {
return getValue(payment, true);
}
@Override
public String visitCouponFixedDefinition(final CouponFixedDefinition payment) {
return getValue(payment, false);
}
@Override
public String visitCouponIborDefinition(final CouponIborDefinition payment, final T data) {
return getValue(payment, true);
}
@Override
public String visitCouponIborDefinition(final CouponIborDefinition payment) {
return getValue(payment, false);
}
@Override
public String visitCouponIborSpreadDefinition(final CouponIborSpreadDefinition payment, final T data) {
return getValue(payment, true);
}
@Override
public String visitCouponIborSpreadDefinition(final CouponIborSpreadDefinition payment) {
return getValue(payment, false);
}
@Override
public String visitCouponIborGearingDefinition(final CouponIborGearingDefinition payment, final T data) {
return getValue(payment, true);
}
@Override
public String visitCouponIborGearingDefinition(final CouponIborGearingDefinition payment) {
return getValue(payment, false);
}
@Override
public String visitCouponIborCompoundingDefinition(final CouponIborCompoundingDefinition payment, final T data) {
return getValue(payment, true);
}
@Override
public String visitCouponIborCompoundingDefinition(final CouponIborCompoundingDefinition payment) {
return getValue(payment, false);
}
@Override
public String visitCouponIborRatchetDefinition(final CouponIborRatchetDefinition payment, final T data) {
return getValue(payment, true);
}
@Override
public String visitCouponIborRatchetDefinition(final CouponIborRatchetDefinition payment) {
return getValue(payment, false);
}
@Override
public String visitCapFloorIborDefinition(final CapFloorIborDefinition payment, final T data) {
return getValue(payment, true);
}
@Override
public String visitCapFloorIborDefinition(final CapFloorIborDefinition payment) {
return getValue(payment, false);
}
@Override
public String visitCouponOISSimplifiedDefinition(final CouponONSimplifiedDefinition payment, final T data) {
return getValue(payment, true);
}
@Override
public String visitCouponOISSimplifiedDefinition(final CouponONSimplifiedDefinition payment) {
return getValue(payment, false);
}
@Override
public String visitCouponOISDefinition(final CouponONDefinition payment, final T data) {
return getValue(payment, true);
}
@Override
public String visitCouponOISDefinition(final CouponONDefinition payment) {
return getValue(payment, false);
}
@Override
public String visitCouponCMSDefinition(final CouponCMSDefinition payment, final T data) {
return getValue(payment, true);
}
@Override
public String visitCouponCMSDefinition(final CouponCMSDefinition payment) {
return getValue(payment, false);
}
@Override
public String visitCapFloorCMSDefinition(final CapFloorCMSDefinition payment, final T data) {
return getValue(payment, true);
}
@Override
public String visitCapFloorCMSDefinition(final CapFloorCMSDefinition payment) {
return getValue(payment, false);
}
@Override
public String visitCapFloorCMSSpreadDefinition(final CapFloorCMSSpreadDefinition payment, final T data) {
return getValue(payment, true);
}
@Override
public String visitCapFloorCMSSpreadDefinition(final CapFloorCMSSpreadDefinition payment) {
return getValue(payment, false);
}
@Override
public String visitAnnuityDefinition(final AnnuityDefinition<? extends PaymentDefinition> annuity, final T data) {
return getValue(annuity, true);
}
@Override
public String visitAnnuityDefinition(final AnnuityDefinition<? extends PaymentDefinition> annuity) {
return getValue(annuity, false);
}
@Override
public String visitSwapDefinition(final SwapDefinition swap, final T data) {
return getValue(swap, true);
}
@Override
public String visitSwapDefinition(final SwapDefinition swap) {
return getValue(swap, false);
}
@Override
public String visitSwapFixedIborDefinition(final SwapFixedIborDefinition swap, final T data) {
return getValue(swap, true);
}
@Override
public String visitSwapFixedIborDefinition(final SwapFixedIborDefinition swap) {
return getValue(swap, false);
}
@Override
public String visitSwapFixedIborSpreadDefinition(final SwapFixedIborSpreadDefinition swap, final T data) {
return getValue(swap, true);
}
@Override
public String visitSwapFixedIborSpreadDefinition(final SwapFixedIborSpreadDefinition swap) {
return getValue(swap, false);
}
@Override
public String visitSwapIborIborDefinition(final SwapIborIborDefinition swap, final T data) {
return getValue(swap, true);
}
@Override
public String visitSwapIborIborDefinition(final SwapIborIborDefinition swap) {
return getValue(swap, false);
}
@Override
public String visitSwapXCcyIborIborDefinition(final SwapXCcyIborIborDefinition swap, final T data) {
return getValue(swap, true);
}
@Override
public String visitSwapXCcyIborIborDefinition(final SwapXCcyIborIborDefinition swap) {
return getValue(swap, false);
}
@Override
public String visitSwaptionCashFixedIborDefinition(final SwaptionCashFixedIborDefinition swaption, final T data) {
return getValue(swaption, true);
}
@Override
public String visitSwaptionCashFixedIborDefinition(final SwaptionCashFixedIborDefinition swaption) {
return getValue(swaption, false);
}
@Override
public String visitSwaptionPhysicalFixedIborDefinition(final SwaptionPhysicalFixedIborDefinition swaption, final T data) {
return getValue(swaption, true);
}
@Override
public String visitSwaptionPhysicalFixedIborDefinition(final SwaptionPhysicalFixedIborDefinition swaption) {
return getValue(swaption, false);
}
@Override
public String visitSwaptionPhysicalFixedIborSpreadDefinition(final SwaptionPhysicalFixedIborSpreadDefinition swaption, final T data) {
return getValue(swaption, true);
}
@Override
public String visitSwaptionPhysicalFixedIborSpreadDefinition(final SwaptionPhysicalFixedIborSpreadDefinition swaption) {
return getValue(swaption, false);
}
@Override
public String visitSwaptionBermudaFixedIborDefinition(final SwaptionBermudaFixedIborDefinition swaption, final T data) {
return getValue(swaption, true);
}
@Override
public String visitSwaptionBermudaFixedIborDefinition(final SwaptionBermudaFixedIborDefinition swaption) {
return getValue(swaption, false);
}
@Override
public String visitCouponInflationZeroCouponFirstOfMonth(final CouponInflationZeroCouponMonthlyDefinition coupon, final T data) {
return getValue(coupon, true);
}
@Override
public String visitCouponInflationZeroCouponFirstOfMonth(final CouponInflationZeroCouponMonthlyDefinition coupon) {
return getValue(coupon, false);
}
@Override
public String visitCouponInflationZeroCouponInterpolation(final CouponInflationZeroCouponInterpolationDefinition coupon, final T data) {
return getValue(coupon, true);
}
@Override
public String visitCouponInflationZeroCouponInterpolation(final CouponInflationZeroCouponInterpolationDefinition coupon) {
return getValue(coupon, false);
}
@Override
public String visitCouponInflationZeroCouponMonthlyGearing(final CouponInflationZeroCouponMonthlyGearingDefinition coupon, final T data) {
return getValue(coupon, true);
}
@Override
public String visitCouponInflationZeroCouponMonthlyGearing(final CouponInflationZeroCouponMonthlyGearingDefinition coupon) {
return getValue(coupon, false);
}
@Override
public String visitCouponInflationZeroCouponInterpolationGearing(final CouponInflationZeroCouponInterpolationGearingDefinition coupon, final T data) {
return getValue(coupon, true);
}
@Override
public String visitCouponInflationZeroCouponInterpolationGearing(final CouponInflationZeroCouponInterpolationGearingDefinition coupon) {
return getValue(coupon, false);
}
@Override
public String visitBondCapitalIndexedSecurity(final BondCapitalIndexedSecurityDefinition<?> bond, final T data) {
return getValue(bond, true);
}
@Override
public String visitBondCapitalIndexedSecurity(final BondCapitalIndexedSecurityDefinition<?> bond) {
return getValue(bond, false);
}
@Override
public String visitBondCapitalIndexedTransaction(final BondCapitalIndexedTransactionDefinition<?> bond, final T data) {
return getValue(bond, true);
}
@Override
public String visitBondCapitalIndexedTransaction(final BondCapitalIndexedTransactionDefinition<?> bond) {
return getValue(bond, false);
}
@Override
public String visitForexDefinition(final ForexDefinition fx, final T data) {
return getValue(fx, true);
}
@Override
public String visitForexDefinition(final ForexDefinition fx) {
return getValue(fx, false);
}
@Override
public String visitForexSwapDefinition(final ForexSwapDefinition fx, final T data) {
return getValue(fx, true);
}
@Override
public String visitForexSwapDefinition(final ForexSwapDefinition fx) {
return getValue(fx, false);
}
@Override
public String visitForexOptionVanillaDefinition(final ForexOptionVanillaDefinition fx, final T data) {
return getValue(fx, true);
}
@Override
public String visitForexOptionVanillaDefinition(final ForexOptionVanillaDefinition fx) {
return getValue(fx, false);
}
@Override
public String visitForexOptionSingleBarrierDefiniton(final ForexOptionSingleBarrierDefinition fx, final T data) {
return getValue(fx, true);
}
@Override
public String visitForexOptionSingleBarrierDefiniton(final ForexOptionSingleBarrierDefinition fx) {
return getValue(fx, false);
}
@Override
public String visitForexNonDeliverableForwardDefinition(final ForexNonDeliverableForwardDefinition ndf, final T data) {
return getValue(ndf, true);
}
@Override
public String visitForexNonDeliverableForwardDefinition(final ForexNonDeliverableForwardDefinition ndf) {
return getValue(ndf, false);
}
@Override
public String visitForexNonDeliverableOptionDefinition(final ForexNonDeliverableOptionDefinition ndo, final T data) {
return getValue(ndo, true);
}
@Override
public String visitForexNonDeliverableOptionDefinition(final ForexNonDeliverableOptionDefinition ndo) {
return getValue(ndo, false);
}
@Override
public String visitForexOptionDigitalDefinition(final ForexOptionDigitalDefinition fx, final T data) {
return getValue(fx, true);
}
@Override
public String visitForexOptionDigitalDefinition(final ForexOptionDigitalDefinition fx) {
return getValue(fx, false);
}
@Override
public String visitMetalForwardDefinition(final MetalForwardDefinition forward, final T data) {
return getValue(forward, true);
}
@Override
public String visitMetalForwardDefinition(final MetalForwardDefinition forward) {
return getValue(forward, false);
}
@Override
public String visitMetalFutureDefinition(final MetalFutureDefinition future, final T data) {
return getValue(future, true);
}
@Override
public String visitMetalFutureDefinition(final MetalFutureDefinition future) {
return getValue(future, false);
}
@Override
public String visitMetalFutureOptionDefinition(final MetalFutureOptionDefinition option, final T data) {
return getValue(option, true);
}
@Override
public String visitMetalFutureOptionDefinition(final MetalFutureOptionDefinition option) {
return getValue(option, false);
}
@Override
public String visitAgricultureForwardDefinition(final AgricultureForwardDefinition forward, final T data) {
return getValue(forward, true);
}
@Override
public String visitAgricultureForwardDefinition(final AgricultureForwardDefinition forward) {
return getValue(forward, false);
}
@Override
public String visitAgricultureFutureDefinition(final AgricultureFutureDefinition future, final T data) {
return getValue(future, true);
}
@Override
public String visitAgricultureFutureDefinition(final AgricultureFutureDefinition future) {
return getValue(future, false);
}
@Override
public String visitAgricultureFutureOptionDefinition(final AgricultureFutureOptionDefinition option, final T data) {
return getValue(option, true);
}
@Override
public String visitAgricultureFutureOptionDefinition(final AgricultureFutureOptionDefinition option) {
return getValue(option, false);
}
@Override
public String visitEnergyForwardDefinition(final EnergyForwardDefinition forward, final T data) {
return getValue(forward, true);
}
@Override
public String visitEnergyForwardDefinition(final EnergyForwardDefinition forward) {
return getValue(forward, false);
}
@Override
public String visitEnergyFutureDefinition(final EnergyFutureDefinition future, final T data) {
return getValue(future, true);
}
@Override
public String visitEnergyFutureDefinition(final EnergyFutureDefinition future) {
return getValue(future, false);
}
@Override
public String visitEnergyFutureOptionDefinition(final EnergyFutureOptionDefinition option, final T data) {
return getValue(option, true);
}
@Override
public String visitEnergyFutureOptionDefinition(final EnergyFutureOptionDefinition option) {
return getValue(option, false);
}
@Override
public String visitEquityFutureDefinition(final EquityFutureDefinition future, final T data) {
return getValue(future, true);
}
@Override
public String visitEquityFutureDefinition(final EquityFutureDefinition future) {
return getValue(future, false);
}
@Override
public String visitEquityIndexDividendFutureDefinition(final EquityIndexDividendFutureDefinition future, final T data) {
return getValue(future, true);
}
@Override
public String visitEquityIndexDividendFutureDefinition(final EquityIndexDividendFutureDefinition future) {
return getValue(future, false);
}
@Override
public String visitEquityIndexOptionDefinition(final EquityIndexOptionDefinition option, final T data) {
return getValue(option, true);
}
@Override
public String visitEquityIndexOptionDefinition(final EquityIndexOptionDefinition option) {
return getValue(option, false);
}
@Override
public String visitEquityIndexFutureOptionDefinition(final EquityIndexFutureOptionDefinition option, final T data) {
return getValue(option, true);
}
@Override
public String visitEquityIndexFutureOptionDefinition(final EquityIndexFutureOptionDefinition option) {
return getValue(option, false);
}
@Override
public String visitEquityOptionDefinition(final EquityOptionDefinition option, final T data) {
return getValue(option, true);
}
@Override
public String visitEquityOptionDefinition(final EquityOptionDefinition option) {
return getValue(option, false);
}
@Override
public String visitVarianceSwapDefinition(final VarianceSwapDefinition varianceSwap) {
return getValue(varianceSwap, false);
}
@Override
public String visitVarianceSwapDefinition(final VarianceSwapDefinition varianceSwap, final T data) {
return getValue(varianceSwap, true);
}
@Override
public String visitEquityVarianceSwapDefinition(final EquityVarianceSwapDefinition varianceSwap) {
return getValue(varianceSwap, false);
}
@Override
public String visitEquityVarianceSwapDefinition(final EquityVarianceSwapDefinition varianceSwap, final T data) {
return getValue(varianceSwap, true);
}
@Override
public String visitVolatilitySwapDefinition(final VolatilitySwapDefinition volatilitySwap) {
return getValue(volatilitySwap, false);
}
@Override
public String visitVolatilitySwapDefinition(final VolatilitySwapDefinition volatilitySwap, final T data) {
return getValue(volatilitySwap, true);
}
@Override
public String visitFXVolatilitySwapDefinition(final FXVolatilitySwapDefinition volatilitySwap) {
return getValue(volatilitySwap, false);
}
@Override
public String visitFXVolatilitySwapDefinition(final FXVolatilitySwapDefinition volatilitySwap, final T data) {
return getValue(volatilitySwap, true);
}
@Override
public String visitTotalReturnSwapDefinition(final TotalReturnSwapDefinition totalReturnSwap) {
return getValue(totalReturnSwap, false);
}
@Override
public String visitTotalReturnSwapDefinition(final TotalReturnSwapDefinition totalReturnSwap, final T data) {
return getValue(totalReturnSwap, true);
}
@Override
public String visitBondTotalReturnSwapDefinition(final BondTotalReturnSwapDefinition totalReturnSwap) {
return getValue(totalReturnSwap, false);
}
@Override
public String visitBondTotalReturnSwapDefinition(final BondTotalReturnSwapDefinition totalReturnSwap, final T data) {
return getValue(totalReturnSwap, true);
}
@Override
public String visitEquityTotalReturnSwapDefinition(final EquityTotalReturnSwapDefinition totalReturnSwap) {
return getValue(totalReturnSwap, false);
}
@Override
public String visitEquityTotalReturnSwapDefinition(final EquityTotalReturnSwapDefinition totalReturnSwap, final T data) {
return getValue(totalReturnSwap, true);
}
@Override
public String visitEquityDefinition(final EquityDefinition equity) {
return getValue(equity, false);
}
@Override
public String visitEquityDefinition(final EquityDefinition equity, final T data) {
return getValue(equity, true);
}
@Override
public String visitCouponIborCompoundingSpreadDefinition(final CouponIborCompoundingSpreadDefinition payment, final T data) {
return getValue(payment, true);
}
@Override
public String visitCouponIborCompoundingSpreadDefinition(final CouponIborCompoundingSpreadDefinition payment) {
return getValue(payment, true);
}
@Override
public String visitCouponIborAverageDefinition(final CouponIborAverageIndexDefinition payment, final T data) {
return getValue(payment, true);
}
@Override
public String visitCouponIborAverageDefinition(final CouponIborAverageIndexDefinition payment) {
return getValue(payment, true);
}
@Override
public String visitCouponInflationYearOnYearFirstOfMonth(final CouponInflationYearOnYearMonthlyDefinition coupon, final T data) {
return getValue(coupon, true);
}
@Override
public String visitCouponInflationYearOnYearFirstOfMonth(final CouponInflationYearOnYearMonthlyDefinition coupon) {
return getValue(coupon, false);
}
@Override
public String visitCouponInflationYearOnYearInterpolationDefinition(final CouponInflationYearOnYearInterpolationDefinition coupon, final T data) {
return getValue(coupon, true);
}
@Override
public String visitCouponInflationYearOnYearInterpolationDefinition(final CouponInflationYearOnYearInterpolationDefinition coupon) {
return getValue(coupon, false);
}
@Override
public String visitCouponFixedCompoundingDefinition(final CouponFixedCompoundingDefinition payment, final T data) {
return getValue(payment, true);
}
@Override
public String visitCouponFixedCompoundingDefinition(final CouponFixedCompoundingDefinition payment) {
return getValue(payment, false);
}
@Override
public String visitIndexFutureDefinition(final IndexFutureDefinition future, final T data) {
return getValue(future, true);
}
@Override
public String visitIndexFutureDefinition(final IndexFutureDefinition future) {
return getValue(future, false);
}
@Override
public String visitEquityIndexFutureDefinition(final EquityIndexFutureDefinition future, final T data) {
return getValue(future, true);
}
@Override
public String visitEquityIndexFutureDefinition(final EquityIndexFutureDefinition future) {
return getValue(future, false);
}
@Override
public String visitVolatilityIndexFutureDefinition(final VolatilityIndexFutureDefinition future, final T data) {
return getValue(future, true);
}
@Override
public String visitVolatilityIndexFutureDefinition(final VolatilityIndexFutureDefinition future) {
return getValue(future, false);
}
@Override
public String visitDeliverableSwapFuturesTransactionDefinition(final SwapFuturesPriceDeliverableTransactionDefinition futures, final T data) {
return getValue(futures, true);
}
@Override
public String visitDeliverableSwapFuturesTransactionDefinition(final SwapFuturesPriceDeliverableTransactionDefinition futures) {
return getValue(futures, false);
}
@Override
public String visitCapFloorInflationZeroCouponInterpolationDefinition(final CapFloorInflationZeroCouponInterpolationDefinition coupon, final T data) {
return getValue(coupon, true);
}
@Override
public String visitCapFloorInflationZeroCouponInterpolationDefinition(final CapFloorInflationZeroCouponInterpolationDefinition coupon) {
return getValue(coupon, false);
}
@Override
public String visitCapFloorInflationZeroCouponMonthlyDefinition(final CapFloorInflationZeroCouponMonthlyDefinition coupon, final T data) {
return getValue(coupon, true);
}
@Override
public String visitCapFloorInflationZeroCouponMonthlyDefinition(final CapFloorInflationZeroCouponMonthlyDefinition coupon) {
return getValue(coupon, false);
}
@Override
public String visitCapFloorInflationYearOnYearInterpolationDefinition(final CapFloorInflationYearOnYearInterpolationDefinition coupon, final T data) {
return getValue(coupon, true);
}
@Override
public String visitCapFloorInflationYearOnYearInterpolationDefinition(final CapFloorInflationYearOnYearInterpolationDefinition coupon) {
return getValue(coupon, false);
}
@Override
public String visitCapFloorInflationYearOnYearMonthlyDefinition(final CapFloorInflationYearOnYearMonthlyDefinition coupon, final T data) {
return getValue(coupon, true);
}
@Override
public String visitCapFloorInflationYearOnYearMonthlyDefinition(final CapFloorInflationYearOnYearMonthlyDefinition coupon) {
return getValue(coupon, false);
}
@Override
public String visitCouponArithmeticAverageONDefinition(final CouponONArithmeticAverageDefinition payment, final T data) {
return getValue(payment, true);
}
@Override
public String visitCouponArithmeticAverageONDefinition(final CouponONArithmeticAverageDefinition payment) {
return getValue(payment, false);
}
@Override
public String visitCouponArithmeticAverageONSpreadDefinition(final CouponONArithmeticAverageSpreadDefinition payment, final T data) {
return getValue(payment, true);
}
@Override
public String visitCouponArithmeticAverageONSpreadDefinition(final CouponONArithmeticAverageSpreadDefinition payment) {
return getValue(payment, false);
}
@Override
public String visitCouponArithmeticAverageONSpreadSimplifiedDefinition(final CouponONArithmeticAverageSpreadSimplifiedDefinition payment, final T data) {
return getValue(payment, true);
}
@Override
public String visitCouponArithmeticAverageONSpreadSimplifiedDefinition(final CouponONArithmeticAverageSpreadSimplifiedDefinition payment) {
return getValue(payment, false);
}
@Override
public String visitCouponONSpreadDefinition(final CouponONSpreadDefinition payment, final T data) {
return getValue(payment, true);
}
@Override
public String visitCouponONSpreadDefinition(final CouponONSpreadDefinition payment) {
return getValue(payment, false);
}
@Override
public String visitBondFuturesSecurityDefinition(final BondFuturesSecurityDefinition bond, final T data) {
return getValue(bond, true);
}
@Override
public String visitBondFuturesSecurityDefinition(final BondFuturesSecurityDefinition bond) {
return getValue(bond, false);
}
@Override
public String visitBondFuturesTransactionDefinition(final BondFuturesTransactionDefinition bond, final T data) {
return getValue(bond, true);
}
@Override
public String visitBondFuturesTransactionDefinition(final BondFuturesTransactionDefinition bond) {
return getValue(bond, false);
}
@Override
public String visitCouponInflationYearOnYearMonthlyWithMargin(final CouponInflationYearOnYearMonthlyWithMarginDefinition coupon, final T data) {
return getValue(coupon, true);
}
@Override
public String visitCouponInflationYearOnYearMonthlyWithMargin(final CouponInflationYearOnYearMonthlyWithMarginDefinition coupon) {
return getValue(coupon, false);
}
@Override
public String visitCouponInflationYearOnYearInterpolationWithMargin(final CouponInflationYearOnYearInterpolationWithMarginDefinition coupon, final T data) {
return getValue(coupon, true);
}
@Override
public String visitCouponInflationYearOnYearInterpolationWithMargin(final CouponInflationYearOnYearInterpolationWithMarginDefinition coupon) {
return getValue(coupon, false);
}
@Override
public String visitBondInterestIndexedSecurity(final BondInterestIndexedSecurityDefinition<?, ?> bond, final T data) {
return getValue(bond, true);
}
@Override
public String visitBondInterestIndexedSecurity(final BondInterestIndexedSecurityDefinition<?, ?> bond) {
return getValue(bond, false);
}
@Override
public String visitBondInterestIndexedTransaction(final BondInterestIndexedTransactionDefinition<?, ?> bond, final T data) {
return getValue(bond, true);
}
@Override
public String visitBondInterestIndexedTransaction(final BondInterestIndexedTransactionDefinition<?, ?> bond) {
return getValue(bond, false);
}
@Override
public String visitCouponONSpreadSimplifiedDefinition(final CouponONSpreadSimplifiedDefinition payment, final T data) {
return getValue(payment, true);
}
@Override
public String visitCouponONSpreadSimplifiedDefinition(final CouponONSpreadSimplifiedDefinition payment) {
return getValue(payment, false);
}
@Override
public String visitCouponFixedAccruedCompoundingDefinition(final CouponFixedAccruedCompoundingDefinition payment, final T data) {
return getValue(payment, true);
}
@Override
public String visitCouponFixedAccruedCompoundingDefinition(final CouponFixedAccruedCompoundingDefinition payment) {
return getValue(payment, false);
}
@Override
public String visitCouponONCompoundedDefinition(final CouponONCompoundedDefinition payment, final T data) {
return getValue(payment, true);
}
@Override
public String visitCouponONCompoundedDefinition(final CouponONCompoundedDefinition payment) {
return getValue(payment, false);
}
@Override
public String visitSwaptionCashFixedONCompoundingDefinition(final SwaptionCashFixedCompoundedONCompoundingDefinition swaption, final T data) {
return getValue(swaption, true);
}
@Override
public String visitSwaptionCashFixedONCompoundingDefinition(final SwaptionCashFixedCompoundedONCompoundingDefinition swaption) {
return getValue(swaption, false);
}
@Override
public String visitCouponIborCompoundingFlatSpreadDefinition(final CouponIborCompoundingFlatSpreadDefinition payment, final T data) {
return getValue(payment, true);
}
@Override
public String visitCouponIborCompoundingFlatSpreadDefinition(final CouponIborCompoundingFlatSpreadDefinition payment) {
return getValue(payment, false);
}
@Override
public String visitSwapMultilegDefinition(final SwapMultilegDefinition swap, final T data) {
return getValue(swap, true);
}
@Override
public String visitSwapMultilegDefinition(final SwapMultilegDefinition swap) {
return getValue(swap, false);
}
@Override
public String visitMetalFutureSecurityDefinition(final MetalFutureSecurityDefinition future, final T data) {
return getValue(future, true);
}
@Override
public String visitMetalFutureSecurityDefinition(final MetalFutureSecurityDefinition future) {
return getValue(future, false);
}
@Override
public String visitMetalFutureTransactionDefinition(final MetalFutureTransactionDefinition future, final T data) {
return getValue(future, true);
}
@Override
public String visitMetalFuturTransactioneDefinition(final MetalFutureTransactionDefinition future) {
return getValue(future, false);
}
@Override
public String visitAgricultureFutureSecurityDefinition(final AgricultureFutureSecurityDefinition future, final T data) {
return getValue(future, true);
}
@Override
public String visitAgricultureFutureSecurityDefinition(final AgricultureFutureSecurityDefinition future) {
return getValue(future, false);
}
@Override
public String visitAgricultureFutureTransactionDefinition(final AgricultureFutureTransactionDefinition future, final T data) {
return getValue(future, true);
}
@Override
public String visitAgricultureFutureTransactionDefinition(final AgricultureFutureTransactionDefinition future) {
return getValue(future, false);
}
@Override
public String visitEnergyFutureSecurityDefinition(final EnergyFutureSecurityDefinition future, final T data) {
return getValue(future, true);
}
@Override
public String visitEnergyFutureSecurityDefinition(final EnergyFutureSecurityDefinition future) {
return getValue(future, false);
}
@Override
public String visitEnergyFutureTransactionDefinition(final EnergyFutureTransactionDefinition future, final T data) {
return getValue(future, true);
}
@Override
public String visitEnergyFutureTransactionDefinition(final EnergyFutureTransactionDefinition future) {
return getValue(future, false);
}
@Override
public String visitForwardCommodityCashSettleDefinition(final ForwardCommodityCashSettleDefinition forward, final T data) {
return getValue(forward, true);
}
@Override
public String visitForwardCommodityCashSettleDefinition(final ForwardCommodityCashSettleDefinition forward) {
return getValue(forward, false);
}
@Override
public String visitForwardCommodityPhysicalSettleDefinition(final ForwardCommodityPhysicalSettleDefinition forward, final T data) {
return getValue(forward, true);
}
@Override
public String visitForwardCommodityPhysicalSettleDefinition(final ForwardCommodityPhysicalSettleDefinition forward) {
return getValue(forward, false);
}
@Override
public String visitCouponCommodityCashSettleDefinition(final CouponCommodityCashSettleDefinition coupon, final T data) {
return getValue(coupon, true);
}
@Override
public String visitCouponCommodityCashSettleDefinition(final CouponCommodityCashSettleDefinition coupon) {
return getValue(coupon, false);
}
@Override
public String visitCouponCommodityPhysicalSettleDefinition(final CouponCommodityPhysicalSettleDefinition coupon, final T data) {
return getValue(coupon, true);
}
@Override
public String visitCouponCommodityPhysicalSettleDefinition(final CouponCommodityPhysicalSettleDefinition coupon) {
return getValue(coupon, false);
}
@Override
public String visitBondFuturesYieldAverageSecurityDefinition(final BondFuturesYieldAverageSecurityDefinition bondFuture, final T data) {
return getValue(bondFuture, true);
}
@Override
public String visitBondFuturesYieldAverageSecurityDefinition(final BondFuturesYieldAverageSecurityDefinition bondFuture) {
return getValue(bondFuture, false);
}
@Override
public String visitYieldAverageBondFuturesTransactionDefinition(final BondFuturesYieldAverageTransactionDefinition bondFuture, final T data) {
return getValue(bondFuture, true);
}
@Override
public String visitYieldAverageBondFuturesTransactionDefinition(final BondFuturesYieldAverageTransactionDefinition bondFuture) {
return getValue(bondFuture, false);
}
@Override
public String visitBondFuturesOptionMarginSecurityDefinition(BondFuturesOptionMarginSecurityDefinition bondFutureOption, T data) {
return null;
}
@Override
public String visitBondFuturesOptionMarginSecurityDefinition(BondFuturesOptionMarginSecurityDefinition bondFutureOption) {
return null;
}
@Override
public String visitBondFuturesOptionMarginTransactionDefinition(BondFuturesOptionMarginTransactionDefinition bondFutureOption, T data) {
return null;
}
@Override
public String visitBondFuturesOptionMarginTransactionDefinition(BondFuturesOptionMarginTransactionDefinition bondFutureOption) {
return null;
}
@Override
public String visitCouponIborCompoundingSimpleSpreadDefinition(CouponIborCompoundingSimpleSpreadDefinition payment) {
return null;
}
@Override
public String visitCouponIborCompoundingSimpleSpreadDefinition(CouponIborCompoundingSimpleSpreadDefinition payment, T data) {
return null;
}
@Override
public String visitCouponIborAverageFixingDatesDefinition(CouponIborAverageFixingDatesDefinition payment, T data) {
return getValue(payment, true);
}
@Override
public String visitCouponIborAverageFixingDatesDefinition(CouponIborAverageFixingDatesDefinition payment) {
return getValue(payment, false);
}
@Override
public String visitCouponIborAverageCompoundingDefinition(CouponIborAverageFixingDatesCompoundingDefinition payment, T data) {
return getValue(payment, true);
}
@Override
public String visitCouponIborAverageCompoundingDefinition(CouponIborAverageFixingDatesCompoundingDefinition payment) {
return getValue(payment, false);
}
@Override
public String visitCouponIborAverageFlatCompoundingSpreadDefinition(CouponIborAverageFixingDatesCompoundingFlatSpreadDefinition payment, T data) {
return getValue(payment, true);
}
@Override
public String visitCouponIborAverageFlatCompoundingSpreadDefinition(CouponIborAverageFixingDatesCompoundingFlatSpreadDefinition payment) {
return getValue(payment, false);
}
@Override
public String visitBillTotalReturnSwapDefinition(BillTotalReturnSwapDefinition totalReturnSwap) {
return null;
}
@Override
public String visitBillTotalReturnSwapDefinition(BillTotalReturnSwapDefinition totalReturnSwap, T data) {
return null;
}
@Override
public String visitCouponFixedFxResetDefinition(CouponFixedFxResetDefinition payment, T data) {
return null;
}
@Override
public String visitCouponFixedFxResetDefinition(CouponFixedFxResetDefinition payment) {
return null;
}
@Override
public String visitCouponIborFxResetDefinition(CouponIborFxResetDefinition payment, T data) {
return null;
}
@Override
public String visitCouponIborFxResetDefinition(CouponIborFxResetDefinition payment) {
return null;
}
}
}