/** * Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.financial.security; import com.opengamma.financial.security.future.AgricultureFutureSecurity; import com.opengamma.financial.security.future.BondFutureSecurity; import com.opengamma.financial.security.future.DeliverableSwapFutureSecurity; import com.opengamma.financial.security.future.EnergyFutureSecurity; import com.opengamma.financial.security.future.EquityFutureSecurity; import com.opengamma.financial.security.future.EquityIndexDividendFutureSecurity; import com.opengamma.financial.security.future.FXFutureSecurity; import com.opengamma.financial.security.future.FederalFundsFutureSecurity; import com.opengamma.financial.security.future.IndexFutureSecurity; import com.opengamma.financial.security.future.InterestRateFutureSecurity; import com.opengamma.financial.security.future.MetalFutureSecurity; import com.opengamma.financial.security.future.StockFutureSecurity; /** * @param <T> The return type of the visitor */ public interface FutureSecurityVisitor<T> { T visitAgricultureFutureSecurity(AgricultureFutureSecurity security); T visitBondFutureSecurity(BondFutureSecurity security); T visitEnergyFutureSecurity(EnergyFutureSecurity security); T visitEquityFutureSecurity(EquityFutureSecurity security); T visitEquityIndexDividendFutureSecurity(EquityIndexDividendFutureSecurity security); T visitFXFutureSecurity(FXFutureSecurity security); T visitIndexFutureSecurity(IndexFutureSecurity security); T visitInterestRateFutureSecurity(InterestRateFutureSecurity security); T visitMetalFutureSecurity(MetalFutureSecurity security); T visitStockFutureSecurity(StockFutureSecurity security); T visitDeliverableSwapFutureSecurity(DeliverableSwapFutureSecurity security); T visitFederalFundsFutureSecurity(FederalFundsFutureSecurity security); }