/** * Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.financial.functiondoc; import java.util.HashMap; import java.util.Map; import com.opengamma.financial.security.bond.BondSecurity; import com.opengamma.financial.security.capfloor.CapFloorCMSSpreadSecurity; import com.opengamma.financial.security.capfloor.CapFloorSecurity; import com.opengamma.financial.security.cash.CashSecurity; import com.opengamma.financial.security.deposit.PeriodicZeroDepositSecurity; import com.opengamma.financial.security.equity.EquitySecurity; import com.opengamma.financial.security.equity.EquityVarianceSwapSecurity; import com.opengamma.financial.security.forward.CommodityForwardSecurity; import com.opengamma.financial.security.fra.FRASecurity; import com.opengamma.financial.security.future.FutureSecurity; import com.opengamma.financial.security.fx.FXForwardSecurity; import com.opengamma.financial.security.fx.NonDeliverableFXForwardSecurity; import com.opengamma.financial.security.option.BondFutureOptionSecurity; import com.opengamma.financial.security.option.CommodityFutureOptionSecurity; import com.opengamma.financial.security.option.EquityBarrierOptionSecurity; import com.opengamma.financial.security.option.EquityIndexDividendFutureOptionSecurity; import com.opengamma.financial.security.option.EquityIndexOptionSecurity; import com.opengamma.financial.security.option.EquityOptionSecurity; import com.opengamma.financial.security.option.FXBarrierOptionSecurity; import com.opengamma.financial.security.option.FXDigitalOptionSecurity; import com.opengamma.financial.security.option.FXOptionSecurity; import com.opengamma.financial.security.option.IRFutureOptionSecurity; import com.opengamma.financial.security.option.NonDeliverableFXDigitalOptionSecurity; import com.opengamma.financial.security.option.NonDeliverableFXOptionSecurity; import com.opengamma.financial.security.option.SwaptionSecurity; import com.opengamma.financial.security.swap.SwapSecurity; /** * Temporary measure for formatting an internal security type string into a * form that can be displayed in the documentation. Note that the web gui * requires the same behaviour and will get a proper implementation. When that * happens, use that and delete this class. */ public final class PrettyPrintSecurityType { private static final Map<String, String> s_data; static { s_data = new HashMap<String, String>(); s_data.put(BondSecurity.SECURITY_TYPE, "Bond"); s_data.put(BondFutureOptionSecurity.SECURITY_TYPE, "Bond Future Option"); s_data.put(CapFloorSecurity.SECURITY_TYPE, "Cap/Floor"); s_data.put(CapFloorCMSSpreadSecurity.SECURITY_TYPE, "Cap/Floor CMS Spread"); s_data.put(CashSecurity.SECURITY_TYPE, "Cash"); s_data.put(CommodityForwardSecurity.SECURITY_TYPE, "Commodity Forward"); s_data.put(CommodityFutureOptionSecurity.SECURITY_TYPE, "Commodity Future Option"); s_data.put(EquitySecurity.SECURITY_TYPE, "Equity"); s_data.put(EquityBarrierOptionSecurity.SECURITY_TYPE, "Equity Barrier Option"); s_data.put(EquityIndexOptionSecurity.SECURITY_TYPE, "Equity Index Option"); s_data.put(EquityIndexDividendFutureOptionSecurity.SECURITY_TYPE, "Equity Index Future Option"); s_data.put(EquityVarianceSwapSecurity.SECURITY_TYPE, "Equity Variance Swap"); s_data.put(EquityOptionSecurity.SECURITY_TYPE, "Equity Option"); s_data.put("EXTERNAL_SENSITIVITIES_SECURITY", "Externally Calculated Sensitivities"); s_data.put(FRASecurity.SECURITY_TYPE, "FRA"); s_data.put(FutureSecurity.SECURITY_TYPE, "Future"); s_data.put(FXBarrierOptionSecurity.SECURITY_TYPE, "FX Barrier Option"); s_data.put(FXDigitalOptionSecurity.SECURITY_TYPE, "FX Digital Option"); s_data.put(FXForwardSecurity.SECURITY_TYPE, "FX Forward"); s_data.put(FXOptionSecurity.SECURITY_TYPE, "FX Option"); s_data.put(IRFutureOptionSecurity.SECURITY_TYPE, "IR Future Option"); s_data.put(NonDeliverableFXDigitalOptionSecurity.SECURITY_TYPE, "Non-deliverable FX Digital Option"); s_data.put(NonDeliverableFXOptionSecurity.SECURITY_TYPE, "Non-deliverable FX Option"); s_data.put(NonDeliverableFXForwardSecurity.SECURITY_TYPE, "Non-deliverable FX Forward"); s_data.put(PeriodicZeroDepositSecurity.SECURITY_TYPE, "Periodic Zero Deposit"); s_data.put(SwapSecurity.SECURITY_TYPE, "Swap"); s_data.put(SwaptionSecurity.SECURITY_TYPE, "Swaption"); } private PrettyPrintSecurityType() { } public static String getTypeString(final String type) { final String value = s_data.get(type); if (value != null) { return value; } return type; } }