/**
* Copyright (C) 2011 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.engine.marketdata;
import com.opengamma.engine.ComputationTargetResolver;
/**
* Compiles a string representation of an override operation to an {@link OverrideOperation}
* instance.
*/
public interface OverrideOperationCompiler {
/**
* Compiles the given expression to an executable operation.
*
* @param operation the textual representation of the operation, not null
* @param resolver the resolver to use for any embedded or indirect references, not null
* @return the executable operation, not null
* @throws IllegalArgumentException if the expression is invalid
*/
OverrideOperation compile(String operation, ComputationTargetResolver.AtVersionCorrection resolver);
}