/**
* Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.financial.convention;
/**
* Default implementation of the visitor that throws {@link UnsupportedOperationException}
* for all convention types.
*
* @param <T> the return type of the visitor query
*/
public class FinancialConventionVisitorAdapter<T> implements FinancialConventionVisitor<T> {
@Override
public T visitBondConvention(final BondConvention convention) {
return getErrorMessage(convention);
}
@Override
public T visitCMSLegConvention(final CMSLegConvention convention) {
return getErrorMessage(convention);
}
@Override
public T visitCompoundingIborLegConvention(final CompoundingIborLegConvention convention) {
return getErrorMessage(convention);
}
@Override
public T visitDepositConvention(final DepositConvention convention) {
return getErrorMessage(convention);
}
@Override
public T visitEquityConvention(final EquityConvention convention) {
return getErrorMessage(convention);
}
@Override
public T visitDeliverablePriceQuotedSwapFutureConvention(final DeliverablePriceQuotedSwapFutureConvention convention) {
return getErrorMessage(convention);
}
@Override
public T visitFederalFundsFutureConvention(final FederalFundsFutureConvention convention) {
return getErrorMessage(convention);
}
@Override
public T visitFixedInterestRateSwapLegConvention(final FixedInterestRateSwapLegConvention convention) {
return getErrorMessage(convention);
}
@Override
public T visitFloatingInterestRateSwapLegConvention(final FloatingInterestRateSwapLegConvention convention) {
return getErrorMessage(convention);
}
@Override
public T visitFXForwardAndSwapConvention(final FXForwardAndSwapConvention convention) {
return getErrorMessage(convention);
}
@Override
public T visitFXSpotConvention(final FXSpotConvention convention) {
return getErrorMessage(convention);
}
@Override
public T visitIborIndexConvention(final IborIndexConvention convention) {
return getErrorMessage(convention);
}
@Override
public T visitIMMFRAConvention(final RollDateFRAConvention convention) {
return getErrorMessage(convention);
}
@Override
public T visitIMMSwapConvention(final RollDateSwapConvention convention) {
return getErrorMessage(convention);
}
@Override
public T visitInflationLegConvention(final InflationLegConvention convention) {
return getErrorMessage(convention);
}
@Override
public T visitInterestRateFutureConvention(final InterestRateFutureConvention convention) {
return getErrorMessage(convention);
}
@Override
public T visitOISLegConvention(final OISLegConvention convention) {
return getErrorMessage(convention);
}
@Override
public T visitONCompoundedLegRollDateConvention(final ONCompoundedLegRollDateConvention convention) {
return getErrorMessage(convention);
}
@Override
public T visitONArithmeticAverageLegConvention(final ONArithmeticAverageLegConvention convention) {
return getErrorMessage(convention);
}
@Override
public T visitOvernightIndexConvention(final OvernightIndexConvention convention) {
return getErrorMessage(convention);
}
@Override
public T visitPriceIndexConvention(final PriceIndexConvention convention) {
return getErrorMessage(convention);
}
@Override
public T visitSwapConvention(final SwapConvention convention) {
return getErrorMessage(convention);
}
@Override
public T visitSwapFixedLegConvention(final SwapFixedLegConvention convention) {
return getErrorMessage(convention);
}
@Override
public T visitFixedLegRollDateConvention(final FixedLegRollDateConvention convention) {
return getErrorMessage(convention);
}
@Override
public T visitSwapIndexConvention(final SwapIndexConvention convention) {
return getErrorMessage(convention);
}
@Override
public T visitVanillaIborLegConvention(final VanillaIborLegConvention convention) {
return getErrorMessage(convention);
}
@Override
public T visitVanillaIborLegRollDateConvention(final VanillaIborLegRollDateConvention convention) {
return getErrorMessage(convention);
}
//-------------------------------------------------------------------------
/**
* Creates an exception.
*
* @param convention the convention
* @return throws UnsupportedOperationException
* @throws UnsupportedOperationException always
*/
private T getErrorMessage(final FinancialConvention convention) {
throw new UnsupportedOperationException("This visitor does not support conventions of type " + convention.getClass());
}
}