/** * 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.cds.CDSSecurity; import com.opengamma.financial.security.cds.CreditDefaultSwapIndexDefinitionSecurity; import com.opengamma.financial.security.cds.CreditDefaultSwapIndexSecurity; import com.opengamma.financial.security.cds.LegacyFixedRecoveryCDSSecurity; import com.opengamma.financial.security.cds.LegacyRecoveryLockCDSSecurity; import com.opengamma.financial.security.cds.LegacyVanillaCDSSecurity; import com.opengamma.financial.security.cds.StandardFixedRecoveryCDSSecurity; import com.opengamma.financial.security.cds.StandardRecoveryLockCDSSecurity; import com.opengamma.financial.security.cds.StandardVanillaCDSSecurity; import com.opengamma.financial.security.option.CreditDefaultSwapOptionSecurity; /** * @param <T> The return type of the visitor */ public interface CreditSecurityVisitor<T> { T visitCDSSecurity(CDSSecurity security); T visitStandardVanillaCDSSecurity(StandardVanillaCDSSecurity security); T visitStandardFixedRecoveryCDSSecurity(StandardFixedRecoveryCDSSecurity security); T visitStandardRecoveryLockCDSSecurity(StandardRecoveryLockCDSSecurity security); T visitLegacyVanillaCDSSecurity(LegacyVanillaCDSSecurity security); T visitLegacyFixedRecoveryCDSSecurity(LegacyFixedRecoveryCDSSecurity security); T visitLegacyRecoveryLockCDSSecurity(LegacyRecoveryLockCDSSecurity security); T visitCreditDefaultSwapIndexDefinitionSecurity(CreditDefaultSwapIndexDefinitionSecurity security); T visitCreditDefaultSwapIndexSecurity(CreditDefaultSwapIndexSecurity security); T visitCreditDefaultSwapOptionSecurity(CreditDefaultSwapOptionSecurity security); }