/** * Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.sesame; import com.opengamma.core.config.ConfigSource; import com.opengamma.financial.analytics.curve.AbstractCurveDefinition; import com.opengamma.financial.analytics.curve.AbstractCurveSpecification; import com.opengamma.financial.analytics.curve.ConfigDBCurveSpecificationBuilder; import com.opengamma.util.ArgumentChecker; import com.opengamma.util.result.Result; /** * Function implementation that provides a curve specification. */ public class DefaultCurveSpecificationFn implements CurveSpecificationFn { /** * The curve specification builder. */ private final ConfigDBCurveSpecificationBuilder _curveSpecificationBuilder; public DefaultCurveSpecificationFn(ConfigSource configSource) { // TODO shouldn't be using config source directly _curveSpecificationBuilder = new ConfigDBCurveSpecificationBuilder(ArgumentChecker.notNull(configSource, "configSource")); } //------------------------------------------------------------------------- @Override public Result<AbstractCurveSpecification> getCurveSpecification(Environment env, AbstractCurveDefinition curveDefinition) { // TODO - the valuation time never seems to be used return Result.success(_curveSpecificationBuilder.buildSpecification(env.getValuationTime().toInstant(), env.getValuationDate(), curveDefinition)); } }