/** * 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.value.ValueRequirement; /** * Applies an override operation that acts upon the original underlying data. This allows market data * to be injected that replaces the underlying data, or that shifts it (e.g. bump it 10%). */ public interface OverrideOperation { /** * Apply the override operation on the original object. * * @param requirement the value descriptor; so that information about the type of the value might be inferred * @param original the original market data value * @return the new market data value */ Object apply(ValueRequirement requirement, Object original); // TODO: The requirement parameter is bad; this should really be a computation target }