/** * Copyright (C) 2011 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.financial.fudgemsg; import static com.opengamma.financial.analytics.volatility.surface.SurfaceInstrumentProvider.DATA_FIELD_NAME; import static com.opengamma.financial.analytics.volatility.surface.SurfaceInstrumentProvider.POSTFIX_FIELD_NAME; import static com.opengamma.financial.analytics.volatility.surface.SurfaceInstrumentProvider.PREFIX_FIELD_NAME; import org.fudgemsg.FudgeMsg; import org.fudgemsg.MutableFudgeMsg; import org.fudgemsg.mapping.FudgeBuilder; import org.fudgemsg.mapping.FudgeBuilderFor; import org.fudgemsg.mapping.FudgeDeserializer; import org.fudgemsg.mapping.FudgeSerializer; import com.opengamma.financial.analytics.volatility.surface.BloombergAlternativeFXOptionVolatilitySurfaceInstrumentProvider; /** * */ @FudgeBuilderFor(BloombergAlternativeFXOptionVolatilitySurfaceInstrumentProvider.class) public class BloombergAlternativeFXOptionVolatilitySurfaceInstrumentProviderFudgeBuilder implements FudgeBuilder<BloombergAlternativeFXOptionVolatilitySurfaceInstrumentProvider> { @Override public MutableFudgeMsg buildMessage(final FudgeSerializer serializer, final BloombergAlternativeFXOptionVolatilitySurfaceInstrumentProvider object) { final MutableFudgeMsg message = serializer.newMessage(); FudgeSerializer.addClassHeader(message, BloombergAlternativeFXOptionVolatilitySurfaceInstrumentProvider.class); message.add(PREFIX_FIELD_NAME, object.getFXPrefix()); message.add(POSTFIX_FIELD_NAME, object.getPostfix()); message.add(DATA_FIELD_NAME, object.getDataFieldName()); return message; } @Override public BloombergAlternativeFXOptionVolatilitySurfaceInstrumentProvider buildObject(final FudgeDeserializer deserializer, final FudgeMsg message) { return new BloombergAlternativeFXOptionVolatilitySurfaceInstrumentProvider(message.getString(PREFIX_FIELD_NAME), message.getString(POSTFIX_FIELD_NAME), message.getString(DATA_FIELD_NAME)); } }