/** * Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.financial.security.lookup.swap; import com.opengamma.financial.security.lookup.SecurityValueProvider; import com.opengamma.financial.security.swap.SwapSecurity; import com.opengamma.util.money.Currency; import com.opengamma.util.tuple.Pair; /** * */ public class SwapTypeProvider implements SecurityValueProvider<SwapSecurity> { @Override public Object getValue(SwapSecurity security) { Pair<Currency, Currency> ccys = new CurrencyVisitor().visit(security); if (!ccys.getFirst().equals(ccys.getSecond())) { return "Cross Currency Swap"; } FixedFloatVisitor visitor = new FixedFloatVisitor(); if (!security.getPayLeg().accept(visitor) && !security.getReceiveLeg().accept(visitor)) { return "Basis Swap"; } return "Interest Rate Swap"; } }