/** * Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.financial.security.irs; import com.opengamma.financial.security.swap.CommodityNotional; import com.opengamma.financial.security.swap.InterestRateNotional; import com.opengamma.financial.security.swap.NotionalVisitor; import com.opengamma.financial.security.swap.SecurityNotional; import com.opengamma.financial.security.swap.VarianceSwapNotional; /** * Visitor for the {@code InterestRateSwapNotional} subclasses. * * Mainly used in the presence of notional schedules. * * @param <DATA_TYPE> visitor method return type * @param <RESULT_TYPE> visitor input data type */ public interface InterestRateSwapNotionalVisitor<DATA_TYPE, RESULT_TYPE> extends NotionalVisitor<RESULT_TYPE> { RESULT_TYPE visitInterestRateSwapNotional(InterestRateSwapNotional notional, DATA_TYPE data); RESULT_TYPE visitInterestRateSwapNotional(InterestRateSwapNotional notional); RESULT_TYPE visitInterestRateNotional(InterestRateNotional notional, DATA_TYPE data); RESULT_TYPE visitSecurityNotional(SecurityNotional notional, DATA_TYPE period); RESULT_TYPE visitVarianceSwapNotional(VarianceSwapNotional notional, DATA_TYPE period); RESULT_TYPE visitCommodityNotional(CommodityNotional notional, DATA_TYPE period); }