/** * Copyright (C) 2011 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.web.json; import com.opengamma.financial.analytics.volatility.cube.VolatilityCubeDefinition; import com.opengamma.util.ArgumentChecker; /** * Custom JSON builder to convert VolatilityCubeDefinition to JSON object and back again */ @SuppressWarnings("rawtypes") public final class VolatilityCubeDefinitionJSONBuilder extends AbstractJSONBuilder<VolatilityCubeDefinition> { /** * Singleton */ public static final VolatilityCubeDefinitionJSONBuilder INSTANCE = new VolatilityCubeDefinitionJSONBuilder(); /** * JSON template */ private static final String TEMPLATE = createTemplate(); /** * Restricted constructor */ private VolatilityCubeDefinitionJSONBuilder() { } private static String createTemplate() { return null; } @Override public VolatilityCubeDefinition fromJSON(String json) { ArgumentChecker.notNull(json, "JSON document"); return fromJSON(VolatilityCubeDefinition.class, json); } @Override public String toJSON(VolatilityCubeDefinition volatilityCubeDefinition) { ArgumentChecker.notNull(volatilityCubeDefinition, "volatilityCubeDefinition"); return fudgeToJson(volatilityCubeDefinition); } @Override public String getTemplate() { return TEMPLATE; } }