/** * Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.util.rest; import java.io.CharArrayWriter; import org.fudgemsg.FudgeContext; import org.fudgemsg.FudgeMsg; import org.fudgemsg.wire.FudgeMsgWriter; import org.fudgemsg.wire.json.FudgeJSONStreamWriter; import com.opengamma.util.ArgumentChecker; import com.opengamma.util.fudgemsg.OpenGammaFudgeContext; /** * Converter from FudgeMessage to JSON */ public class FudgeMessageJSONBuilder { private final FudgeContext _fudgeContext; /** * Creates the builder * * @param fudgeContext the fudge context */ public FudgeMessageJSONBuilder(FudgeContext fudgeContext) { ArgumentChecker.notNull(fudgeContext, "FudgeContext"); _fudgeContext = fudgeContext; } /** * Creates an instance. */ public FudgeMessageJSONBuilder() { this(OpenGammaFudgeContext.getInstance()); } /** * Converts the given fudgeMsg to a JSON string representation * * @param fudgeMsg the fudge message * @return the json representation */ public String build(FudgeMsg fudgeMsg) { ArgumentChecker.notNull(fudgeMsg, "fudge message"); final CharArrayWriter caw = new CharArrayWriter(); try (FudgeMsgWriter fmw = new FudgeMsgWriter(new FudgeJSONStreamWriter(_fudgeContext, caw))) { fmw.writeMessage(fudgeMsg); } return caw.toString(); } }