/** * Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.livedata.cogda.msg; import org.fudgemsg.FudgeMsg; import org.fudgemsg.MutableFudgeMsg; import org.fudgemsg.mapping.FudgeBuilder; import org.fudgemsg.mapping.FudgeDeserializer; import org.fudgemsg.mapping.FudgeSerializer; /** * */ public class CogdaLiveDataUpdateBuilder implements FudgeBuilder<CogdaLiveDataUpdateMessage> { public static MutableFudgeMsg buildMessageStatic(FudgeSerializer serializer, CogdaLiveDataUpdateMessage update) { MutableFudgeMsg msg = serializer.newMessage(); msg.add("MESSAGE_TYPE", CogdaMessageType.LIVE_DATA_UPDATE.name()); CogdaLiveDataBuilderUtil.addExternalId(msg, update.getSubscriptionId(), update.getNormalizationScheme()); msg.add("values", update.getValues()); return msg; } @Override public MutableFudgeMsg buildMessage(FudgeSerializer serializer, CogdaLiveDataUpdateMessage object) { return buildMessageStatic(serializer, object); } public static CogdaLiveDataUpdateMessage buildObjectStatic(FudgeDeserializer deserializer, FudgeMsg message) { CogdaLiveDataUpdateMessage update = new CogdaLiveDataUpdateMessage(); update.setSubscriptionId(CogdaLiveDataBuilderUtil.parseExternalId(message)); update.setNormalizationScheme(message.getString("normalizationScheme")); update.setValues(message.getMessage("values")); return update; } @Override public CogdaLiveDataUpdateMessage buildObject(FudgeDeserializer deserializer, FudgeMsg message) { return buildObjectStatic(deserializer, message); } }