/** * Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.financial.analytics.volatility.cube; import java.io.Serializable; import com.opengamma.id.ExternalId; /** * Class that gets an {@link ExternalId} for an (x, y, z) point on a volatility cube. * There are no restrictions on how these ids are produced; they could be autogenerated, * or pulled out of a map, for example. * * @param <X> The type of the x-axis values * @param <Y> The type of the y-axis values * @param <Z> The type of the z-axis values */ public interface CubeInstrumentProvider<X, Y, Z> extends Serializable { /** * Gets the external * @param xAxis The x axis value * @param yAxis The y axis value * @param zaxis The z axis value * @return The external id of (x, y, z) point */ ExternalId getInstrument(X xAxis, Y yAxis, Z zaxis); /** * Gets the data field name. * @return The data field name */ String getDataFieldName(); }