/**
* 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 CogdaLiveDataUnsubscribeBuilder implements FudgeBuilder<CogdaLiveDataUnsubscribeMessage> {
public static MutableFudgeMsg buildMessageStatic(FudgeSerializer serializer, CogdaLiveDataUnsubscribeMessage request) {
MutableFudgeMsg msg = serializer.newMessage();
msg.add("MESSAGE_TYPE", CogdaMessageType.SUBSCRIPTION_REQUEST.name());
msg.add("correlationId", request.getCorrelationId());
CogdaLiveDataBuilderUtil.addExternalId(msg, request.getSubscriptionId(), request.getNormalizationScheme());
return msg;
}
@Override
public MutableFudgeMsg buildMessage(FudgeSerializer serializer, CogdaLiveDataUnsubscribeMessage object) {
return buildMessageStatic(serializer, object);
}
public static CogdaLiveDataUnsubscribeMessage buildObjectStatic(FudgeDeserializer deserializer, FudgeMsg message) {
CogdaLiveDataUnsubscribeMessage request = new CogdaLiveDataUnsubscribeMessage();
if (message.hasField("correlationId")) {
request.setCorrelationId(message.getLong("correlationId"));
} else {
request.setCorrelationId(-1L);
}
request.setSubscriptionId(CogdaLiveDataBuilderUtil.parseExternalId(message));
request.setNormalizationScheme(message.getString("normalizationScheme"));
return request;
}
@Override
public CogdaLiveDataUnsubscribeMessage buildObject(FudgeDeserializer deserializer, FudgeMsg message) {
return buildObjectStatic(deserializer, message);
}
}