/** * 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.surface.VolatilitySurfaceSpecification; import com.opengamma.util.ArgumentChecker; /** * Custom JSON builder to convert VolatilitySurfaceSpecification to JSON object and back again */ public final class VolatilitySurfaceSpecificationJSONBuilder extends AbstractJSONBuilder<VolatilitySurfaceSpecification> { /** * Singleton */ public static final VolatilitySurfaceSpecificationJSONBuilder INSTANCE = new VolatilitySurfaceSpecificationJSONBuilder(); /** * JSON template */ private static final String TEMPLATE = createTemplate(); /** * Restricted constructor */ private VolatilitySurfaceSpecificationJSONBuilder() { } private static String createTemplate() { return null; } @Override public String getTemplate() { return TEMPLATE; } @Override public String toJSON(VolatilitySurfaceSpecification object) { ArgumentChecker.notNull(object, "VolatilitySurfaceSpecification"); return fudgeToJson(object); } @Override public VolatilitySurfaceSpecification fromJSON(String json) { ArgumentChecker.notNull(json, "JSON document"); return fromJSON(VolatilitySurfaceSpecification.class, json); } }